Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Cairngorm vs. PureMVC?

 
Jahnvi Pathak
Greenhorn
Posts: 10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hey guys,

I want to develop a website which deals with creating online catalog of some sort. I was going through some blogs regarding frameworks and found out that some people say PureMVC is much lighter than Cairngorm and also Cairngorm makes heavy use of global variables and all. My basic requirement is:

1. Application should be light weight
2. It should be easily extensible (i.e. for future expansion)

Being new to both Cairngorm and PureMVC I don't know which framework should I go for? Or not any framework at all?? Any inputs??

- Jahnvi

 
Raju Penumatsa
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I too have gone through some articles where people had said Pure MVC is lighter than Cairngorm . It is because cairngorm uses specific project structure. And needs to create Commands for each event.

But i personally feel like doing in Cairngorm is the better way because of the below points
  • Though it takes us to write extra classes,It allows all of the team mates to follow same stadards
  • It is a part of open source program from Adobe itself. So we can get good support
  •  
    Dan Orlando
    author
    Ranch Hand
    Posts: 31
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Have you guys looked into any of the "second-gen" microarchitectures? I'm curious as to why you feel your options are limited to Cairngorm and PureMVC when they have essentially been superceded by frameworks that are centered around design patterns (like Inversion of Control and Dependency Injection) that cater to Flex, rather than catering to Java and JEE but in the Flex framework as Cairngorm 2 and PureMVC do (PureMVC not as much, but still). I would highly recommend taking a look at: Mate, Swiz, and particularly Robotlegs. I think you will find these frameworks to allow for much more scalable Flex applications.
     
    Raju Penumatsa
    Greenhorn
    Posts: 5
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Thanks for your suggestion Dan .
    People prefer these two frameworks since these are well established and more popular frameworks.
    But as you said , the new features like DI and IOC allows us to do loosely coupled flex applications.
    So i decided to take a look at other frameworks also like Mate, Swiz, and Robotlegs.
    Once again thanks Dan.
     
    Joel Hooks
    author
    Greenhorn
    Posts: 15
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    I'm not a big fan of Cairngorm, but have used PureMVC extensively. I'm a contributor to Robotlegs which borrows heavily from PureMVC for its MVCS implementation. The nice part of the non-ServiceLocator DI is that it provides for classes that are less coupled and easier to maintain/test. Generally speaking, I write a lot less code with Robotlegs than I did with PureMVC, which is nice as well.

    So Cairngorm<PureMVC<Robotlegs :>

    http://wiki.github.com/robotlegs/robotlegs-framework/best-practices

    When it gets right down to it I think that process is the most important aspect of development. Give me Cairngorm with Agile Scrum any day over Robotlegs with a Waterfall process. Of course Agile Robotlegs is the best of both worlds.
     
    Sonny Gill
    Ranch Hand
    Posts: 1211
    IntelliJ IDE Mac
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    +1 for Swiz http://swizframework.org/

    It has built in support for Spring like dependency injection, event mediation, and very simple controller layers that pass on your calls to the service objects.
    It is relatively new, but I found it to be very stable, and the dev team is very responsive - http://groups.google.com/group/swiz-framework (requires google login).
    The best thing about it is that it does not try to too much itself, but makes it easy for you to write good Flex code.

    Our team had started off using Cairngorm, and I was looking for better alternatives. I had a brief look at Mate and PureMVC before I delved deeper into Swiz, and liked it immediately. From Java land, it makes me think of Stripes Framework, whereas PureMVC or Mate will be like Wicket or Tapestry
     
    Johan Nilsson
    Greenhorn
    Posts: 1
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    I have only used PureMVC in a big project and it does give your application structure.
    However it also makes you create a lot of classes... a lot of boilerplate...
    Check out the spaghetti monster in their documentation ;-)
    I am also coming from Java land and PureMVC feels like Struts with lots of interfaces to implement and framework classes to extend.

    Starting again I would check out Swiz and Mate first.
    This article will give you a quick overview and compares the frameworks.
     
    Jahnvi Pathak
    Greenhorn
    Posts: 10
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Thank you all for reply and suggestions.

    When I think about Flex I see mostly Cairngorm or PureMVC as they are used extensively and because they have more presence on the web. But I will surely now look into the other frameworks also.

    - Jahnvi
     
    Dan Orlando
    author
    Ranch Hand
    Posts: 31
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Jahnvi Pathak wrote:Thank you all for reply and suggestions.

    When I think about Flex I see mostly Cairngorm or PureMVC as they are used extensively and because they have more presence on the web. But I will surely now look into the other frameworks also.

    - Jahnvi


    Note that this is changing at an exponential rate. I'm seeing enterprises, previously frustrated by projects that failed when they hit Cairngorm's infamous "scalability wall", start over again using one of the big three second-gen micros (4 if you count Parsley). We're not talking about spare time developer experiments here anymore, I'm talking about some seriously massive enterprise apps. I've seen more Mate than Swiz and Robotlegs in the enterprise, but its worth noting that I've seen a faster adoption rate in the enterprise with Robotlegs than with any of the other frameworks, including Cairngorm back when Cairngorm was all there was (there was a lot of homegrown architectures being built by those who knew better than to use Cairngorm - unless they knew the application want going to get any bigger, that is). Robotlegs is about half the age of Swiz and Mate and yet it is just about neck and neck now with the others in terms of production applications being written with it. In my eyes, that holds a lot of implications that suggest that, well, there must be a reason for this. This is a good discussion though... Would like to hear others' thoughts and opinions on the subject as well.
     
    Brick Riccardi
    Greenhorn
    Posts: 22
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Just throwing in my +1 for RobotLegs. Simply a beautiful framework that is so simple to use, clean, and versatile.
     
    Robert D. Moss
    Greenhorn
    Posts: 3
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    I've written both Cairngorm and pureMVC applications. To answer your question, it is my opinion that pureMVC meets your requirements of lightweight and scalable better than Cairngorm. It is also my opinion that you should learn both. Cairngorm was the defacto standard for quite a while and from a maintenance perspective knowing the most popular frameworks can not be understated. A framework does not just help you wire your application together making it more maintainable and testable, but is also the communication link between all the developers working on a project. It makes sure that everyone is talking the same language, so it stands to reason selecting the most used language can be beneficial.

    All that being said if I get to choose the framework of my next project and will have no more than 3 developers then I plan on using robotlegs for the reasons outlined here. http://shaun.boyblack.co.za/blog/2009/04/29/another-architectural-framework-but-why/ Even though robotlegs might be the "best" (which is of course very subjective) it is not the first I would learn for the reasons above. Just my opinion.
     
    • Post Reply
    • Bookmark Topic Watch Topic
    • New Topic