Adobe Flex 2.0 enriches the RIA development experience

Adobe adds a simpler UI, Web services connections, and plenty more

Flash forward from my 2004 review of Macromedia Flex 1.5 — a product plagued by limited, proprietary features, clumsy development opportunity, and a hefty price tag — and you’ll find a refreshed suite sporting more than just a new proprietor.

Adobe Flex 2.0 demonstrates a solid advance in support of RIA (rich Internet application) development and delivery, comprising an updated components framework and SDK, a new Eclipse-based IDE for drag-and-drop layout and code management, and a separate data services application for mediated server-side messaging and data integration (see also a screencast of Adobe Flex 2.0).

With Flex, developers can create Flash-based apps with features such as chat, real-time dashboards, reliable messaging, and data push services designed to run in the revamped Flash Player 9 virtual machine. Flex 2 now supports serverless, stand-alone app deployment as well — good for offline apps in need of periodic connectivity.

On the downside, companies with an investment in earlier versions of Flex face a bit of a migration hurdle. Although Version 1.5 apps will continue to run in Flash Player 9, they will need to be recompiled under Flex 2 to take advantage of any new capabilities, so prepare for some code parsing.

And, although the new Flash Player shows performance tweaks, debugging, and improved XML support, it is currently available only for Windows PCs and non-Intel based Macs — making this somewhat less flexible in customer-centric deployments.

Adobe needs to watch competing products, such as Laszlo Systems’ OpenLaszlo, which deliver a comparable Flash-based experience. The open source platform lacks some component refinement and data integration found in Flex 2. Laszlo, however, recently announced plans for dual compilation, which will add a DHTML and AJAX (Asynchronous JavaScript and XML) runtime that would bypass the need for the proprietary Flash engine.

Notably, Adobe is also working on an AJAX bridge and has done a 180 on its licensing structure — making Flex available free of charge and opening its source code to developers.

Specifically, the framework, SDK, and a basic version of the server-side data engine, Data Services Express, are free. For more than one CPU or clustering support, you still must invest in the full Data Services 2 app. The Builder 2 IDE is an added expense, but it’s well worth its cost, as it eases the learning requirement of Flex’s new ActionScript 3.0 language and provides a developer-friendly foray for Flex into IT departments.

In all, I found Adobe Flex 2 a superb choice for streamlining development of enterprise-grade, data-driven RIA applications. With good built-in capability for real-time messaging, collaboration, and graphical data binding, Flex’s muscle will help businesses break free of the constraints confining today’s Web-based application delivery.


Getting started with Flex was straightforward. Wizards guided setup of the Builder and Data Services components along with a developer version of JRun 4 — with the option to configure alternate J2EE app servers as necessary.

Builder’s code hinting proved first rate in composing MXML (Macromedia Flex Markup Language) interface elements and ActionScript code — the building blocks of Flex applications. Switching to Design View allowed me to drag, drop, and bind form elements easily and create view states with fine-tuning of layouts and property settings possible.

Easy coding of Flash transitions between app views created smooth animations and effects without ever touching a Flash time line. Plug in parameters; Flex compiles the rest.

Using Flex Data Services, I integrated and bound to JMS (Java Message Service) and server-side Java logic. Built-in aptitude for publish/subscribe messaging, automatic data push to subscribed clients, and paging on large data sets streamlined construction. Clients can communicate via SOAP Web services or REST (Representational State Transfer), but the Flex server is available to proxy cross-domain invocation hurdles.

I would like to see the addition of some widgets that offer pre-built functionality and behaviors, as well as live data binding to enhance development. Also, the chance to drill through subcomponents without spawning separate windows in Design View would make it easier to select components.

If tying data to dashboards is your thing, you’ll definitely want Builder with Charting. Although it adds another 50 percent to the price tag, the pre-built chart and graph libraries with built-in effects — such as mouse-over data pop-ups and support for CSS skinning — helped speed creation of professional-looking charts.

Parsing XML with Flex is a breeze. Thanks to support for E4X (ECMAScript for XML), walking an XML object couldn’t be easier.

The integrated debugger stood the test with features such as statement tracing, breakpoints, variable monitoring — the usual. A nice perk, however, was the capability to actually trace ActionScript and Java code side by side.

When all was done, I had several SWF apps streaming data and updating charts within my browser in real time, with only a modicum of effort.

Flexible future

There are some obstacles remaining for Adobe. Eventual deployment to mobile devices will be a necessity. Furthermore, Flex support for ActionScript on the server would alleviate Java coding requirements.

Onboard administration of applications and the Data Services component also needs improvement, offering little more than trace insights into open apps.

Microsoft, however, seems poised to inflict some eventual pressure with XBAP. The WPF-based approach to building distributable, sandboxed applications is already sporting some cool capabilities — such as isolated storage and 3D graphics libraries — that could give Adobe’s forthcoming Apollo desktop runtime a challenge down the road.

Today, Flex is an affordable solution for developing RIAs with an approachable toolkit and reliable delivery mechanism. Easy connections for Web services and Java objects, as well as solid messaging, help tie this package together as a very good choice for enterprise-case deployment of RIAs.

InfoWorld Scorecard
Capability (30.0%)
Documentation (15.0%)
Ease of development (20.0%)
Value (10.0%)
Setup (10.0%)
Administration (15.0%)
Overall Score (100%)
Adobe Flex 2 9.0 8.0 9.0 9.0 9.0 7.0 8.6