-
Get a monthly update on best practices for delivering successful software.
This ends week one of my investigations into PureMVC. So far I'm impressed with the framework itself in it's many versions and incarnations, but the documentation and tutorials for platforms other than Flex leave something to be desired. To all those folks that claim that Cairngorm is easier to learn than PureMVC, I can agree, but only because of this lack of good documentation.
So what should we Java/GWT developers do? Taking a cue from my colleague Noel Rappin, we should Read the Source, Luke. This code reading is a triangulation excercise worthy of Bill Clinton, involving API docs, source in other languages and source in other versions and platforms.
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.
Continue reading »
Topics: Cocoa, Design Patterns, GWT, iPhone, Java, Javascript, MVC, PHP, Swing, WinForms