Product review: Adobe Flex Builder speeds RIA development
Version 3.0 of the Eclipse-based Flex IDE hits the high notes with real-time charting, wizards for data binding and Web services, new tools for app profiling, and support for AIR; Creative Suite integration could use improvementFollow @infoworld
One of the most notable additions is support for Adobe AIR 1.0. The new Web-to-desktop runtime lets developers package a host of Web technologies, ranging from HTML and CSS to AJAX and Flash, into an application that can run right on the user's desktop -- sans browser -- and look and behave like local apps, even functioning when offline.
The Flex Builder 3.0 IDE sports the typical accoutrements, including code and graphical views, a controls palette, project hierarchy and debug views, and a properties panel. Anyone familiar with Eclipse will feel right at home. Visual Studio developers may miss such features as the ability to split code windows or to simultaneously display code and layout windows as in Dreamweaver, but these are minor issues. I easily jumped into UI creation, dragging components for layout, navigation, and data access from the pallet to the work canvas.
Flex projects can be geared for the Web (Flash player) or the desktop (running on AIR). Creating an AIR project revealed additional pallet components for working with native file systems (tree, list, history) and for embedding an HTML browser into the application – useful for quick import and redeployment of existing Web site assets to the desktop. Again, Builder generates all the MXML design code.
You can create custom chromes for your GUI and programmatically control view states, but the process for embedding dynamic assets, such as ActionScript-based Flash files or data-driven charts, could be much smoother.
For example, you can easily skin a project using Flash SWF files, and import them simply as static files (perfectly understood by Flex). But using Flash in combination with ActionScript to produce a dynamic interface requires several downloads (including the Flex Component Kit for Flash and Flex Skin Design Extensions for each app of the CS3 suite), defining a Movie Clip class in Flash, and then exporting the result as a SWC file – which creates a separate Flex-native component. It's not difficult to do, exactly, just unnecessarily convoluted.
That said, the extensions for CS3 provide numerous templates (for buttons, data grids, menu bars, tree hierarchies, collapsible accordion menus, and so on) that helped kick off interface creation.
Builder, of course, provides direct access to ActionScript and MXML code for manual tweaking. The IDE boasts all of the aids you would expect, including code assist, auto-completion, and so forth. Adobe has improved change management in Builder with a nice code refactoring mechanism, and the tool offers good separation between design interface and business logic.
I greatly appreciate the new wizards for WSDL introspection, working with AJAX libraries, and connecting with back-end data sources -- a boon to turning out real-time charts and dashboards. Flex supports both SOAP and REST (Representational State Transfer) Web service invocations, and wiring service calls through ActionScript has never been easier.
Builder also offers good support for server technologies, including ASP.Net, ColdFusion, J2EE, and PHP. Flex can pull remote objects via Adobe LiveCycle or ColdFusion's Flash Remoting.
Bend, don't break
Flex Builder Professional is more than double the price of the Standard edition, but for my money, it's the one to buy. Pro gives you good debugging additions and other benefits such as application profiling.