Application Frameworks – The Good, The Bad, and The Ugly

Presented at

In this session, I compared and contrasted six different application frameworks (also known as micro-architectures). They are

  • Cairngorm
  • PureMVC
  • Mate
  • Parsley
  • Swiz
  • Robotlegs

These are the slides from the last presentation at Flex London User Group on Tuesday, 16 February 2010.


13 thoughts on “Application Frameworks – The Good, The Bad, and The Ugly

  1. Awesome, thanks for this. Today was my first experience with Swiz. Looking forward to see the comparison with other frameworks.

  2. Hey Richard,

    could you consider adding Spring Actionscript in your comparison in the future? We’d be very interested to read/hear your opinions.



  3. Hi Roland

    I didn’t include Spring Actionscript because when I last looked the documentation appeared to only mention dependency injection functionality (I also don’t include SmartyPants, even though I use it a lot myself, because it’s just a DI container).

    However, I just looked again and the docs for Spring Actionscript are much improved, and the documented extensions take it beyond only DI so yes, if I do this presentation again I’ll look to add Spring Actionscript.


    P.S. Congrats on getting to the 1.0 release candidate.

  4. Hey Richard,

    thanks a lot! By the way, we just committed two new sample apps to the Spring Actionscript repository, both are implementations of the Cafe Townsend application (of Cairngorm fame) showcasing two different ways in which Spring Actionscript can be leveraged.
    Christophe wrote a blogpost on one of them:



  5. Pingback: Introduction to Flex Application’s Architecture - Redux

  6. Hi – just came across your article while exploring the Parsley framework.

    I enjoyed your presentation. However, I think your comparison logic was apples to oranges. Cairngorm and PureMVC are MVC frameworks – not IoC frameworks. You compare them as though they are intended to solve Inversion of Control. Cairngorm was not intended as an IoC framework, and you label it’s ModelLocator Singleton pattern as “Shit.”

    The other frameworks solve a completely different design pattern – dependency injection with inversion of control. It is not the same comparison. You refer to a Singleton pattern as “shit?” A singleton model locator pattern is an infinite improvement to a primal dependency injection pattern where the parent/child relationship is tightly coupled. Do you see the irony?

  7. Hi Jeff

    They are all MVC frameworks and that is the basis for the comparison. They do use different patterns to manage dependencies, and that is a good reason for choosing one over the other. That is why I discuss it in the presentation.

    It is my opinion that dependency injection is a much better way to manage dependencies than service locator, and it is also my opinion that in most contexts, including in Cairngorm’s ModelLocator, the singleton pattern is bad.

    Would you elaborate what you mean by “a primal dependency injection pattern where the parent/child relationship is tightly coupled”.

Leave a Reply

Your email address will not be published. Required fields are marked *