PureMVC Architects Lounge

Announcements and General Discussion => Architecture => Topic started by: klk on December 10, 2009, 05:13:06

Title: PureMVC Portability -- Parallel Codebases
Post by: klk on December 10, 2009, 05:13:06
Hi all,

My company is building a Flex application that we may need to port to other platforms:

Silverlight (likely)
Mobile (maybe -- iPhone: Objective-C , Android: Java, etc.)
Desktop (maybe -- AIR, .NET, etc.)
TV sets (maybe eventually)

PureMVC is platform-independent and has already been ported over to most of the platforms that are mentioned above. How valuable is this portability? Will it really make our lives significantly easier when it comes to porting and developing/maintaining multiple applications? Also, are there examples of PureMVC applications that have been developed for one platform and then ported over to another while still using PureMVC? 


Title: Re: PureMVC Portability -- Parallel Codebases
Post by: puremvc on December 19, 2009, 10:12:36
The ports have been kept as close to the reference as possible, but of course there will be slight differences in implementations from language to language. But the patterns are simple and the simplest language constructs are advocated for implementation.

The key benefit to using it in more than one place is that the basic actors and their roles, responsibilities and collaborations remain the same. When you architect your application, you are using the same patterns across platforms.

Consider the alternative of having three teams architect the app in three different ways for three different platforms, each using the 'hot' framework for that platform (or no framework, or a homebrew).

The maintenance legacy is horrible because you can't transfer any knowledge between the teams. The time and effort needed to design, develop and deploy a new feature to all three apps is significantly higher than if all three apps share the same overall architecture.