Accessibility

Flex Article

 

Architecting Flex Applications


Christophe Coenraets

Christophe Coenraets

Adobe

Table of Contents

Comments
Created:
29 March 2004
User Level:
Intermediate, Advanced

After building a couple of initial "getting started" applications with Macromedia Flex, developers often experience a feeling of liberation: all of a sudden, the all-too-well-known limitations of HTML for building applications disappear, and it’s hard not to get excited by the new possibilities and opportunities that the Macromedia Flex Rich Internet Applications platform unleashes. As a developer, you can finally build real applications for the client tier. While leveraging the ubiquitous and real-time deployment model of the web, these applications are neither cluttered with page refreshes nor limited to a handful of user interface controls. Furthermore, they can expose rich user interface metaphors such as drag and drop, and even access a local data storage area to work in an occasionally-connected mode.

The bottom line is that Rich Internet Applications are... applications. This also means that they have the same requirements as any other application: stability, robustness, extensibility, and reusability.

So, after the initial excitement, the next logical question often in the developer's mind is: "What’s the right way to architect larger scale, real-life Flex applications?" The short answer is that there is no reason to abandon the proven software engineering methodologies and practices that have governed application development for years.

This article provides a more detailed answer to this question, and describes how to build large-scale Flex applications using sound design patterns, such as the model-view-controller (MVC) architecture, and best practices, such as loose coupling of application components.

About the author

Christophe Coenraets worked at Powersoft—which then became part of Sybase—from 1994 to 2000. He started working with Java in 1996 and became the technical evangelist for the company's Java and Internet Application Division. Christophe then joined Macromedia as the technical evangelist for JRun, the company's J2EE application server. In this position, Christophe started working on rich Internet applications (RIAs) and on ways of integrating Flash front ends with J2EE back ends. Christophe is currently Senior Evangelist for the new developer-centric RIA initiative at Adobe. Christophe has been a regular speaker at conferences worldwide for the last 10 years.