Nearly a year has passed since Adobe made public the beta versions of Flash Builder 4, the development tool for constructing data-driven apps on its open source Flex framework. Since then, few innovations have emerged, but don't be lured into thinking this toolset is more fizzle than flash. This package represents a sizable improvement over its predecessor, Flex Builder 3.
[This feature was written for our sister site Infoworld and - like Flash Builder 4 itself - is aimed at programmers, but we've included it here as it'll be of interest to Flash designers who will be working alongside Flex-based coders.]
Among the improvements Adobe has added to the development environment, the company has monumentally simplified the data and services wiring through comprehensive introspection on the myriad supported data sources to quickly expose methods and tables.
In my testing, I also found excellent client-side data management and paging features that bring efficiency to large data set handling. Further, the new speedy two-way data binding dramatically simplified database updates without extra coding -- a nice touch for a common task.
Also easing the life of developers, Flash Builder 4 delivers wizard-driven code generation on everything from services to event handling. This goes a long way toward helping devs avoid errors and improve code quality. On top of that, the onboard debugger and network-monitoring facilities will help bulletproof apps and get them into production faster.
Another plus: Flash Builder 4 supports the new Flex 4 SDK that brings with it a new skinning and component architecture (Spark) that extends CSS support and improves runtime UI presentation flexibility.
However, with productivity the name of the game, I was surprised that Adobe Catalyst was not synced to Builder's release. (Catalyst is a companion tool languishing in beta that lets designers visually create forms and interfaces, wire event triggers and interactions, and then pass them off to developers for completion.) Builder 4 may become a tougher sell without assurances that all of the pieces of the platform are in place and properly supported.
Further, with Microsoft Silverlight 4 Release Candidate on deck -- offering tight ties to Visual Studio 2010 and features like runtime analytics, streamlined data binding, large data set presentation tools, and improved AIR-like features for desktop deployment -- Adobe needs to hustle to continue to remain competitive.
All told, though, Flash Builder 4 represents a big step forward for Adobe as it brings designers and developers closer to bridging the production gap between data presentation and interface programmability of rich Internet applications.
Flash Builder 4 contains all of the tools necessary to get started with the Flex 4 SDK languages (MXML, ActionScript), component library, compiler, and debugger.
Regardless of which server-side technology you're using for data, Flash Builder has you covered, supporting ASP.Net, J2EE, HTTP/REST and SOAP Web services, PHP, BlazeDS, ColdFusion, and LiveCycle Data Services for streaming data.
Although lacking direct database connectivity of its own, Builder made it a cinch to introspect my data sources (whether WSDL or class files) and wire up UI components to the resulting data sets. Simple drag/drop of methods onto data grids, lists, and the like were all that was required to light up my UI components.
Quick access to data services, drag/drop Spark components, and minimal coding make Adobe Flash Builder 4 a must-have tool for data-driven Flex applications.
There are some good data-grid controls in the package, as well as a new Spark data-repeater rendering component that offers customized display in list boxes. Moreover, easy mapping of data management routines on the client side helped me facilitate batch operations over database updates. A handful of new layout, navigation, and general charting components proved just as easy to connect.
Adobe has enhanced Builder's ActionScript coding efficiency with auto-generated skeleton code for event handlers and get/set routines. I was able to create forms for data calls and master-detail lists with similarly automated ease.
The new package explorer has a sturdy top-down tree view of all project assets in one location, including project core, ActionScript, MXML, CSS, and images. Despite a couple of minor usability nits, such as the required manual refreshes needed to realign display elements after some code updates, I was generally impressed.
I would like to see better code/tag selection (akin to the block tag selection bar offered in DreamWeaver). Code hinting should be extended to include introspected types as well.
Light up your apps
The onboard debug tools within Builder are quite helpful. They offer all the anticipated trace elements, as well as conditional breakpoints and complex expression evaluation for faster isolation of trouble points. They're so good, in fact, that I'd love to see Builder better tied to Flash Pro down the road, as it provides a much better interface for ActionScript coding. (I find the Flash interface far too cumbersome.)
The performance profiler revealed good drill-down into object references, presenting hardware and memory usage insight. The unit-testing support lets you build cases into the test suite, then run directly from within Builder or automated.
The network monitor proved to be one of the most useful tools I found, particularly over service calls; it allowed me to trap and trace my request/response calls. The ability to drill into headers and data packets directly from within the IDE made quick work of troubleshooting.
The only downside to the network monitor, performance profiler, and unit test framework is that they are only available in the Premium edition of the package -- but they're well worth the cost.
Many of the dev and debug features in Flash Builder 4 are hardly innovations; they've been available in professional IDEs for some time. However, having them included within the Flash/Flex environment helps to promote the framework and bring it in line with enterprise-grade development expectations.
Other improvements to the Flex 4 Spark architecture offer more flexible runtime layout opportunities, new transition animations, and the 3-D capabilities supported by the Flash Player 10.
There are new additions for Adobe-centric design shops as well, such as easy integration and editing of Flash Pro content directly from Builder. Although this seemingly lends to a reblending of developer/designer stratification, it could be a helpful shortcut in small shops.
Additionally, support for FXP graphics interchange format among the Adobe CS4 product suite extends to Builder as well, making for easy resource sharing.
The bottom line: Flash Builder 4 is a must-have tool for anyone developing data-driven applications on Flex. The IDE will demonstrably shorten the development cycle by exposing data, streamlining workflow, and simplifying change management so that your Flex apps will remain nimble.