I don't have experience using Cairngorm, but I do have experience using ARP in Flash & Flex.
First, the marketing & goals side. Comparing them is Apples and Oranges. Yes, both are using good design pattern implementations, yes, both were developed based on similiar ideas, but they both have different goals. ARP is in transition (in my opinion) right now. Aral, like the Cairngorm team, is very respectful of the community's input, and as such has enlisted people on the ARP Advistory Comittee to help steer it, along with everyone else on various lists. The Flash Developer community is in flux. There are those who see their future in Flex, via the obvious signs such as a component set updated for Flex, not for Flash, and the not-so-obvious, such as the evangelizing of its many other merits such as MXML. Most qualified Flash Developers are more than capable of becoming Flex developers, and most of their coding concepts port to Flex' workflow, ARP being one of them. ARP is meant to be lightweight. Since a lot of Flash apps are not always as heavyweight as Flex apps, and have significantly shorter dev cycles, over-OOP'ing something doesn't help. As such, ARP is light enough that you can not only use just some of it, but if you had to, it'd scale well later if you added more features to your app; case in point, scope creep. Cairngorm, amongst many others I'm leaving out, is meant to help those coming from the J2EE Enterprise sphere maximize their current knowledge, and provide common ground in Flex. Most J2EE guys that came to Flash originally, at least that I've talked too, left. So, different angle. Flex satifies those expectations for that crowd. From my perspective, Flex abstracts a LOT of the low-level bs us Flashers are getting sick of dealing with. However, from a J2EE gents perspective, there is still much to be further abstracted, so Cairngorm too helps in that arena. Some of those from the Flash world have a hard time letting go, so one can see how ARP provides a nice lighter weight alternative that still gives you the patterns you want, and allowing you to keep the low-level control you're used too. Second, the features... As such, ARP does not have some of the things the Cairngorm has, and rightly so. Flash doesn't have a concept of "Application.mxml" unless you hack it in; this is how Flash was designed, and everyone has their own opinion on how to do this, even ARP. In Flex, it's abundently clear = use Application or Cairngorm's extension of it. Because Flash apps are more apt to be portable since you can more easily control the loading of individual SWF's (unless your Darron Schall), spending time confirming such a path is pointless; you will not satisfy all the people all the time, and it's a better use of time providing a light-weight alternative vs. a standard. There are many ways, both technically, and design wise to handle data in Flash. In Flex, it's clear: HTTPService, WebService, or RemoteObject, and each has a pretty standard use; getting data for your Views. In Flash, the variety of scope provides little common ground, so while you'll find a ModelLocator in Cairngorm, you won't find one in ARP. While I personally need something like that, many others do not work on the scope of Flash projects I work on, and as such don't need that. There are, however, many that DO work on large scope Flash projects who would rather be working in Flex, and as such, probably implement their own version simply out of necessity until Zorn hopefully provides an acceptable price point. I have as of yet managed to get my head wrapped around ViewHelpers. In Cairngorms' defense, I've seen some insane forms developed by Flex people, and as such, managing pulling/putting data from them could benefit from them. Additionally, from those coming from Tapestry, or any other HTML esque world where you try to hide the actual implementation from the data, it makes sense. In the Flash world, it doesn't make sense. You don't build big forms, you build modular ones mainly because Flash isn't as easy as Flex is to make great forms, and secondly, keep track of your View's in Flash, you're pretty close to the details of how they are made, and as such, a few getter/setters seems like a HUGE abstraction when in that perspective. As such, if a Command in ARP for example has little problem deducing the data it needs to pull from a View; it just uses the getters since the import statement is right there. I still cannot see, however, that as my forms got more complex and innovative, justifying an additional layer of abstraction for data removal/replacing... my Commands currently work just fine for that. But, my opinions change everday as I learn more, so it may change tomorrow. In conclusion, my current version of MVC and ARP work just fine in Flash & Flex, and I have as of yet run into scalability problems. Perhaps if my Flex work were to increase post-Zorn, and I did, I may look into alternatives such as AS2Lib & Cairngorm, but for now, I enjoy the lightweight implementation of ARP, and it's use in Flex. Remember, I'm coming from Flash where things suck for a developer and are greatly improved in Flex so my expectations are EXTREMELY low; Flex, by itself, exceeds them 10 fold. A framework is just icing at this point. ----- Original Message ----- From: "mackdoyle" <[EMAIL PROTECTED]> To: <flexcoders@yahoogroups.com> Sent: Friday, August 05, 2005 9:59 AM Subject: [flexcoders] Cairngorm vs ARP Does anyone have experience working with both and can give a good comparative analysis? And what about MossyBlog's Synergy? ------------------------ Yahoo! Groups Sponsor --------------------~--> <font face=arial size=-1><a href="http://us.ard.yahoo.com/SIG=12h24l2qq/M=362131.6882499.7825260.1510227/D=groups/S=1705007207:TM/Y=YAHOO/EXP=1123261136/A=2889191/R=0/SIG=10r90krvo/*http://www.thebeehive.org ">Get Bzzzy! (real tools to help you find a job) Welcome to the Sweet Life - brought to you by One Economy</a>.</font> --------------------------------------------------------------------~-> -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/