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.
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.
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:
Macromedia Unveils UI Tools (TechWebNews, November 17, 2003)