We’ve revised the guidelines section. In my opinion, one very significant new area are the Core Principles. These are principles that we feel are crucial to adhere to when developing enterprise RIAs. They are also easier to agree upon between teams even if some areas (such as an IoC framework choice) might be more difficult to agree upon. Looking for commonality between teams can help bring more consistency eventually.
Additionally, don’t forget the MAX presentations of Francois Le Droff and Yaniv De Ridder; who will touch on build automation and the impact of multi-screen on client side architecture. Afterwards, I hope we can add some outputs of it to Cairngorm.
Over the past months Cairngorm 3 has moved to a new location, the new Open@Adobe space at SourceForge. Last week we’ve released new versions from our navigation, module, integration, observer and popup libraries. The how-to documents linked through the libraries page show what’s changed and add further documentation.
If you’re at MAX, make sure you checkout the session from Francois Le Droff and Yaniv De Ridder, who will present technical insights from a large-scale RIA project built inside Adobe, which uses Cairngorm 3 guidelines, tools and libraries.
Additionally, Xavier Agnetti and Xavi Beumala will discuss FlexPMD, which is a crucial tool we use in our projects. More tools we’ve found important are linked through our tools section.
I’m excited to announce that Cairngorm 3 is released! Cairngorm communicates best practices for enterprise Flex and AIR application development, contributed by Adobe Technical Services and partners. Cairngorm is our opinion on applying modularity, IoC, agile testing, build automation and everything else we find crucial to build enterprise Flex and AIR applications. It is one set of guidelines, tools and libraries you can hand-off to enterprise development teams. Based on our own experience of many large-scale projects, Cairngorm attempts to share this opinion; early and often in order to get your feedback quicker and to advance the Flash platform in the enterprise.
Since going into public Beta in October last year, I think we’ve made a significant step towards making the guidelines coherent, many libraries robust and the tools section a best-of-breed filter for the tools we’ve been using successfully in practice. This is a living project! Expect changes as we’ll receive feedback and our own thinking evolves; Cairngorm will evolve. Cairngorm is a success for us, if it portrays what works for us and can work for our partners and the external community leveraging the Flash Platform.
Cairngorm starts here.
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:
Often I see this question coming up:
“How should I best create a popup in my Cairngorm application?”
I think of creating a popup control as something only views should be concerned about. It’s like creating other view components, managing states of view components or effects. Therefore this question isn’t just about creating popups, instead it’s about how to invoke methods that belong to the view. (BTW: I often hear from our User Experience team that they try to prevent popups where possible)
In the last post about this topic, I’ve added some functionality and another use case to our stock quote application and showcased how a Cairngorm application could scale with focusing on creating model objects. In this post I’ll perform some further refactorings to our model objects.
Furthermore, our customer wants us to show a pop-up as soon as a successful stock purchase is being made. I’ll cover how a state change in your model can transparently cause view related code (like creating a pop-up) to be executed.
The goal of this series is to demonstrate how you can manage views with investing in your client side business logic.
The previous posts (part 1, part 2) were primarily about the infrastructure of a very simple single and multiple view dashboard application. This and the following posts will add further functionality to the application with the indent to demonstrate how your model objects become a focus point of your application.
In particular, we’ll add validation logic, formatting logic and an additional use case.
UPDATE: The Login example has been updated by Neil Webb to Cairngorm 2.2. Check out his series of articles explaining Cairngorm using the Login example.
I’d like to give you early access to a new version of the CairngormLogin sample, which we’ll ultimately make available on Adobe Labs. We’ve been releasing this very simple example application in earlier versions of Cairngorm alongside the framework code. Intention is to showcase how to get a simple Cairngorm application running. Furthermore, I’ve also upgraded my dashboard samples, which I’ve shown in previous posts.
Earlier this week Cairngorm for Flex 2 has been released. There have been a number of changes compared to Cairngorm for Flex Beta 3. This post intents to explain some of what’s changed, why it changed and how you can handle the changes for migrating your Cairngorm applications to the newest version. Sorry for the delay of this post, but as you might know, there’s a fantastic soccer World Cup in Germany going on these days.
In the last post I’ve introduced you to the stock market dashboard sample application and how you can create business logic to manage your view. In this post and example, I’ll apply another use case to the sample application. With adding multiple pods to the stock market dashboard, the user can request price quotes independently. Each pod has its own stock market data. I’ll cover how your business logic can be adjusted to manage each view. I’ll also touch on how stateless Commands can help making this application easier.