I’m excited to announce that we’ve redefined Cairngorm to increase its scope. Tom Sugden announced our intentions here last month. We’ve now published the first content on opensource.adobe.com.
Instead of only providing a specific implementation of an MVC architecture, our team within the Adobe Technical Services organization took a step back and collected some of the most important knowledge that helped us deliver enterprise Flex applications over the last few years of consulting projects. This includes modular application development, layered architecture, domain-driven design, loose coupling, quality guidelines, build automation strategies, agile testing, code coverage best practices, and more. We present Cairngorm in three parts:
- Guidelines that explain our motivations and how to implement them.
- Tools that help us adhere to our guidelines and streamline our development process.
- Libraries that extend existing architectural frameworks and solve recurring problems.
This collected knowledge shows how large-scale enterprise application development can be achieved with the Flash Platform today.
Our goal is to promote a kind of application development that is clear, consistent, testable and scalable. These aspirations are independent of whatever application framework you chose to use. The specific MVC framework of Cairngorm 2 remains as is and is not deprecated. It has been in use now for almost a decade and its simple, prescriptive nature allowed developers with a background in J2EE core patterns to apply it successfully.
However, the increasing scale of some Flex applications and progression in the frameworks space in other languages demands a different focus, hence the success of recent Inversion-of-Control frameworks such as Parsley, Spring ActionScript, Swiz, Flicc and more. Cairngorm embraces this change, but does not want to compete by transforming into another IoC framework. Instead, we encourage the further development, standardisation and consolidation of the current situation. We want to explain how the design patterns advocated by Cairngorm can be applied with these new frameworks, while providing a more complete picture of what we find crucial in delivering successful, large-scale Flex applications.
Our goal is to be responsive and to release early and often. Therefore, aside from releasing content that has proven to work for us for many years, we will also release libraries that are in experimental stages. Our goal is to get quicker feedback from you and to provide more value to the Flash platform community at large.
Cairngorm 3 Beta starts here.