-
Get a monthly update on best practices for delivering successful software.
At Pathfinder we do a fair amount of desktop style development -- iPhone/Cocoa, WebForms, Swing -- and web application development -- Grails, Rails, JSP, ASP.NET, etc., etc.. In the last two years we, like a lot of other software development shops, have experienced a convergence in our efforts. The web is coming to the desktop in the form of Air and the Desktop is coming to the web in the form of RIA's. Now web MVC, which used to be a pretty benign pattern mostly concerned with app flow and validation, is starting to resemble desktop MVC, which has to deal with document-centric models and long lived views and all of the plumbing that requires.
So we recently had a powwow between all the different parties to talk about MVC and this convergence. With the exception of the insufferable Mac and iPhone developers and their disgustingly mature Cocoa framework, we all agreed it would be nice to have an application level MVC framework for each platform. We also agreed that Swing is a great example of what happens when the vendor doesn't provide such a thing -- spaghetti code that relies on component level MVC and hard wiring at the application level. There are a few MVC frameworks for Swing, such as TikeSwing and Spring Rich Client (soon to be superseded by Spring Desktop), but for every Swing app that has this sort of design, there are hundreds that are just a mess.
Most of us felt that RIA's, including Flash and Flex apps, were suffering from the same framework vacuum. Wouldn't it be nice, we thought, if there was a common framework between all of these platforms, that brought application level MVC to the party? Sasha, our Flex lead, mentioned PureMVC, a "simple" framework that has its origins in ActionScript. It now has ports to Java, GWT, C#, Objective-C, PHP, Python and JavaScript. We'll be evaluating this framework over the next few months to see if it is suitable as a general solution for our RIA's and desktop apps.
If any of our readers have experience with PureMVC or any other cross platform MVC frameworks, feel free to comment.
Related posts:
Topics: Cocoa, Design Patterns, GWT, iPhone, Java, Javascript, MVC, PHP, Swing, WinForms
I just noticed your post and wanted to let you know that the Objective C port is extremely close to production ready and a brilliant translation of the classic employee admin demo for the iPhone will be available.
Also, soon to follow on the heals of the Objective C release will be the Ruby port and a desktop version of EmployeeAdmin with with ActiveRecord persistence.
The Java ports are functional but need a little love. We could use a little help getting demos going for GWT. PHP has a demo but could also use some attention.
In short most of the new ports are solid, and bristling with potential, but the communities beyond AS2/AS3 have yet to take off, as there hasn’t been much talk about them.
It sounds like you’re planning to test on a lot of fronts, and that’s great because the more platforms you use it on the greater the benefit from having everyone on the same page architecturally.
Before you start your evaluations, I’d suggest getting user logins on the forums and acquainting yourself with the boards for each port. Send lots of feedback; in the forums and email the port owners themselves if need be.
Cheers
-=Cliff>
Comment by Cliff Hall, Friday, December 19, 2008 @ 9:50 pm