If only it were as easy to build a Web application as it is to design one in Illustrator and Photoshop. Maybe it will be someday, and maybe that someday is closer than we might think. Adobe has certainly succeeded in shrinking the distance between design and development with its latest batch of RIA tools: Adobe Flex 4 SDK, Adobe Flash Builder 4 (the Flex Builder IDE renamed), and Adobe Flash Catalyst, all recently made available in public beta.
The new kid on the block is Adobe Flash Catalyst, previously code-named Thermo. By allowing you to import Illustrator or Photoshop artwork and turn them into interactive Flash, Catalyst jumpstarts any Flex project. I can't overstate how accessible and easy to use I found Flash Catalyst.
Using Catalyst's pallet of UI components (scrollbars, buttons, data lists, and so on) and other tools, I was able to graphically construct a data-ready interface from scratch within minutes. Page and button states were quick to customize; even glitzy transitions such as fades and slides were a one-click cinch to apply.
Design to build
Catalyst reads Adobe's new static XML graphics interchange format, FXG, so importing bitmap and vector images from Creative Suite 4 applications (Illustrator and Photoshop) is a snap. Elements altered in Catalyst can still be edited back in Illustrator and Photoshop tools. And you can include "design time data" to give designers a view of actual data formats.
To be sure, Adobe needs to fill out the asset library with more controls, containers, and prefab layout grids -- but this is a nice showing.
Meanwhile, under the hood, Catalyst generates the Flex code behind the user-interface components, which developers can import into Flash Builder 4 and combine with the business logic.
I liked the ability to isolate code by page (or state) in the Flash Builder 4 IDE (known as Gumbo). Because a single Catalyst FXP file contains the code for every state of the entire interface, it can become cluttered. To streamline navigation and comprehension of the design, developers can isolate by state and view only the code relevant to the page they're working on. I'd like to see the code actually collapse too, rather than just gray out.
Flash Builder 4 brings new tools to data-centric workflows, rounding out the coding and design focus of its predecessor, Flex Builder 3. Builder 4's new data service wizard makes very quick work of importing and introspecting back-end services and binding them to UI objects. In addition to PHP, Web services, and HTTP services, Builder also supports BlazeDS, LiveCycle Data Services, and ColdFusion.
Just by dragging and dropping, I was able to take a standard query function on my data source, import it into Builder, and bind the result to a data grid in my Flex UI in no time at all. Builder inserted the code that manages behind-the-scenes data fetches, as well as the updates between my master/detail paging. I could even choose to track changes to the local data store, and undo changes before manually committing updates to the server, reducing the number of round trips. This is a great improvement for interacting with large data sets via a Flash GUI.
Builder's new package explorer is also a leap forward from previous versions, providing easy drill-down into all of your libraries, services, ActionScript, MXML, and page assets from a single view. Heightened help facilities and code hinting now sport much richer detail and live ASDoc support too.
Say good-bye to those kludge traces on network calls, thanks to the addition of Network Monitor, which captures and displays live traffic feeding your Flash player. Access to request parameters, response packets, roundtrip completion time, and other useful details make debugging complex data calls much easier.
A final perk worth mentioning is the addition of unit testing. Builder 4 brings point-and-click simplicity to the creation of unit test classes. You can drill into a package, select a method, and create a test class for immediate feedback on code errors. After you fix those errors, the new Run Failed Tests option takes the tedium out of testing by rerunning only the important bits -- a real time-saver.
There's more to like in the Flex 4 SDK as well. At first glance, a new animation class and 3-D support, a new component skinning model, and improved text display capabilities look quite good. We'll have more to say on these and other Flex 4, Flash Builder 4, and Flash Catalyst goodies as Adobe approaches final release.
Adobe Flex 4 SDK, Flash Builder 4, and Flash Catalyst betas
Pros: Catalyst is very easy to use. New state model and Spark skinning simplifies coding. New Builder tools help debugging efforts. Good client-side data management additions.
Cons: Catalyst lacks advanced components; transitions are awkward to apply. Network Monitor monitors services calls (Flex RPC) only.
Platforms: Windows XP SP2, Windows Vista Home Premium, Mac OS X 10.4.7 through 10.4.10 or 10.5 (PowerPC or Intel)
Adobe Flex 4 SDK beta and its associated design and development tools aim to improve support for large data sets and streamline productivity of designers and developers. Flash Catalyst dramatically reduces time for interface design. Flash Builder 4 brings deeper package introspection and a new debugging and unit testing framework that raises the bar for RIA development.