In my recent go at the Flex frameworks landscape (which resulted in merely a mud map rather than a normal map), I seem to have proceeded from Cairngorm being the starting point. Endorsed and promoted by the Iteration Two substratum of the Adobe staff, the framework appears to be the most obvious string to pull. Believe it or not, Cairngorm is oftentimes picked over third-party offerings not because it suits a project best or because it turns out handy in projects of varying complexity, but due to the simple preconception that Cairngorm is the architectural framework and is by far the safest decision for the enterprise, as per the business perspective.
For the Flex community, in contrast, the situation has never looked as flat as that. Developers have repeatedly voiced their frustration with the framework (or the micro-architecture, if you like this one better). Some even went as far as to dub it "a collection of anti-patterns" (I am pretty positive it came from Theo Hultberg), overwhelmingly directing their criticism at the Singletons reliance and a lot of boilerplate code to be written to get comparatively simple issues settled.
Whether you choose to subscribe to the exact wording is a question of secondary importance. The sure thing is that Cairngorm, as a set of patterns transplanted from the J2EE environment, has had its issues. More than that, longevity may become and adverse factor, in the sense of its proximity to the concept of aged. All this could not help but result in a paradigm shift, an inversion of control, or the second generation of Flex frameworks if you will. A rethink of the hibernating how-do-you-pronounce-it-correctly was literally forced into motion by this altered conceptual environment. For a long while, Cairngorm appeared utterly deserted, to the bewilderment of newcomers. Yet now, right as the rethink announcement (or rather the heads-up as I see it) oscillated the air and was tapped into keyboards and through cables out to the big blue world, it became overwhelmingly apparent that Cairngorm is not just undergoing change; it is literally engulfed in change.
For Cairngorm, responding to the paradigm shift means embracing it. It will no longer be just an MVC framework. More than that, it will no longer be a framework at all but is rather supposed to become a foundation comprising a set of guidelines, tools and libraries, in other words, a collection of best Flex practices good across frameworks. What these practices are and how universally applicable the foundation is going to be is yet to be revealed. At the moment v.3 is bogged in drafts. In a way, the situation is reflected by a tweet which reads that Cairngorm 3 “is more documentation than code”. The code that is there, however, signals a strong reliance on Parsley (ironically, a framework overlooked in my mud map), which is not necessarily a good thing for the expectations Cairngorm will have to meet. Yet the beta still has all the chances to adjust its comprehensiveness.
Whatever Cairngorm ends up as, it no longer qualifies to continue bearing the legacy label. It is here that a rename wouldn’t hurt, provided one were for consistency and nomination transparency.
1 comments:
Post a Comment