Flex 2



A couple of years back, Macromedia announced Flex-a developer centric approach to creating Flash. Flex takes an XML-based layout-language called MXML(XML layout languages seemed to be a trend in the industry now-see everything from XUL to XAML), added Actionscript and with Flex (a Java app) you compile this down to SWF. When it came out, I found it very interesting, but couldn't quite bring myself to think it mattered very much. You could at the time code anything you wanted in Actionscript in the Flash IDE (ignoring the timeline and other developer unfriendly features). I would be using CF Studio or Homesite which were adequate for development-the only thing I felt was irritating was not being able to compile outside of the Flash authoring tool. This complaint was mostly eliminated with the introduction of MTASC (Motion Twin Actionscript Compiler).


Flex also had an exorbitant price tag. Was it really worth it? You could argue that you did get MXML(if you were convinced this was an advantage) but it was hard for me to believe the inclusion of MXML justified Flex's cost-I could easily envision someone creating a MXML parser in Actionscript and handling the layout at runtime, thus even obliterating that small advantage.

Now we're on the eve of Flex 2.0 and Adobe is making a more compelling argument for Flex. For one, the base Flex API and development system is free(!) This makes more sense when you consider almost all other web-based languages are free-everything from HTML to JSP & ASP. This should go a long way to helping developers adopt it.

Secondly, Adobe has introduced Flex Builder - an IDE specifically geared towards Flash and Flex development that come with all the goodies (syntax highlighting, function insight, class wizards). As an added bonus, Flex Builder is based on Eclipse, so if you're already using Eclipse, you can just setup Flex Builder as a normal Eclipse plugin. Adobe seems to be making all the right moves here.

Next, Flex 2 compiles out to Actionscript 3.0 - so if you're looking to get a head start porting your applications and trying out the new virtual machine in Flash player 9 (previously 8.5) this is the only way to do it (A Flash 9 authoring tool still looks to be some time away).

Adobe has also made sure to get Flex integrated with some of its other products outside of Flash (such as ColdFusion and Media Server).

Lastly, Adobe has announced Flex Data Services - which makes it a good deal easier to handle client-server communication using different protocols (primarily AMF) and handle object synchronization.

While this might not blow away some people-to me this is all really good stuff, and there's only one reason I'm not jumping on the Flex bandwagon yet-since Flex only writes out AS 3 which can only be read by Player 9, I'm assuming your Flex apps will only be viewable by a small percentage of users until Player 9 reaches significant penetration (probably about a year). Of course I could be wrong about this-if anyone knows differently, let me know.