Flex: The Programmer’s Answer to Fast Rich Internet Applications

Nov 11, 2003
by Judith Dinowitz

On November 17th, Macromedia finally announced Flex, formerly known as Royale. Macromedia describes Flex as a presentation server, but when people hear the words ?presentation server,? they think of a video or PowerPoint presentation. A better term would be a ?user interface creation software.? Its job is to dynamically create Flash user interfaces for websites. It sits on top of an existing application server, such as a J2EE server, allows you to create user interfaces by writing XML files which contain all of the instructions on what the user interface will look like and how it will behave. Flex then uses that XML to generate a Flash movie.

Flex consists of the Flex Presentation Server that contains the client side application framework and the server-side runtime services. The Application Framework uses MXML (the XML-based declarative language within Flex) and ActionScript. The software also contains the Flex Class Library, which consists of components and containers for standard interface objects such as form elements that resemble their HTML counterparts.

But what is Flex, Really?

It is Macromedia?s attempt to allow programmers to create Flash without the worries and concerns that programmers have with Flash. Most programmers are not comfortable creating the graphical interfaces necessary for the use of Flash as a user interface technology, while they are more comfortable with the programmatic interfaces of HTML forms. Before Flex, to create an interface in Flash, a programmer had to graphically design a text box or some other form element. While this may seem like a minor task, easily done by anyone, it is still a task that many programmers feel uncomfortable with. On the other hand, programmers feel very comfortable with HTML forms. Creating Flex interfaces is more akin to HTML forms than to Flash graphic elements.

In Flash, to create an interface, you have to create the Flash movie, drag text boxes onto the movie into set places, resize them and then associate some ActionScript with these movie elements. The very act of placing and resizing the text box on a Flash movie is alien to the programmer?s mindset. In HTML, a programmer would simply write the TEXTAREA tag, along with either some CSS or a table to align it properly. All this is simply text written out, which is easier for a programmer, as they are dealing with it directly. Their hands are on it and they can change it at any time.

Flex is much more akin to HTML forms, as a TEXTAREA would be defined as a Flex element. Its alignment and other graphical qualities would be defined programmatically, and the end result would be something that looks like it was done in Flash (because it is Flash), but it would be written out as plain text (XML).

Or, to explain it as Christian Cantrell, Macromedia Server Manager, explained it on the CF-Talk list: ?You can think of Flex as a rich version of HTML with a huge amount of functionality and flexibility. Instead of generating an interface using HTML and ColdFusion, JSP, ASP, PHP, etc., you use MXML to generate Flash, then ?wire? that interface to web services, which can be implemented in any language.?

Macromedia is also developing an editor for creating Flex applications, code-named Brady. This IDE is still in development.

Where Do I Find Out More?

Flex is currently in a closed beta, and is slated for release in the first half of 2004. Pricing has not yet been announced.

For more information on Flex, you can of course go to Macromedia?s site. In addition, there are news articles coming out all over the place for Flex and its place in the world (detailed below). Finally, there is a new mailing list on House of Fusion that will hopefully be a gathering place for the Flex community, much as CF-Talk is the gathering place for the ColdFusion community.

The following links will give you more information on Flex:

Flex Product Page

Flex Overview Presentation

Apply for the Flex Beta

White Paper: The Flex Technology

Developer Article: Extending Design Patterns into RIA

Developer Article: Overview of MXML

Flex Developer Center

Macromedia Unveils UI Tools (TechWebNews, November 17, 2003)

Privacy | FAQ | Site Map | About | Guidelines | Contact | Advertising | What is ColdFusion?
House of Fusion | ColdFusion Jobs | Blog of Fusion | AHP Hosting