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
Adobe Systems, adobe.com
|
Very Good 8.6 |
 |
| criteria |
score |
weight |
| Capability |
9 |
30% |
 |
| Ease of development |
9 |
20% |
 |
| Administration |
7 |
15% |
 |
| Documentation |
8 |
15% |
 |
| Setup |
9 |
10% |
 |
| Value |
9 |
10% |
 |
|
 |
Cost: Adobe Flex 2 SDK, Adobe Data Services 2 Express, free; Adobe Builder 2, $499; Adobe Builder 2 with Charting, $749; Adobe Data
Services 2, $20,000 per CPU
Platforms: Builder 2: Windows 2000/XP/2003, JRE 1.4.2; Data Services 2: Windows 2000/XP Pro/2003, Red Hat Advanced Server 3/4, Novell
Suse Linux ES 9; Solaris Sparc 9/10; AIX 5.3; HP-UX 11i v2, and various JVMs per app server; Flash Player 9: Windows 98/ME,
2000/XP Pro/2003, Mac OS X; SDK 2: Windows 2000/XP/2003, Mac OS 10.4, Red Hat ES 3/4, Suse 10, Solaris 9/10
Bottom Line: Adobe Flex 2 rewrites the story for this product’s chance as an RIA framework. The feature-rich IDE jump-starts developers,
while a capable back-end mediates data integration and messaging. For real-time, data-driven apps, such as dashboards and
interactive forms, Flex pulls its weight.
|
 |
About our Reviews and Scoring Methodology
|
|
|
|
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.
Muscle-bound
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.