InfoWorld review: Microsoft Silverlight 4 vs. Adobe Flash 10.1
Silverlight challenges the RIA supremacy of Flash, Flex, and AIR with superior development tools and design tool integration
With version 2, AIR digs deeper into the desktop, supporting calls to native code (.Net and Java libraries, for example) and drag-and-drop between the AIR client and the operating system, as well as support for UDP, IPv6 networking, and better network fault tolerance. The Windows client also gets easy DRM via the Adobe Flash Access 2 SDK, which provides facilities for controlling on-demand streaming and "expiring" content rentals.
Developers will find some nice facilities in the SDK and IDE as well. For example, the Flex SDK offers impressive data validation classes. Although they are not as well-suited to managing asynchronous data as their counterparts in Silverlight, they are very easy to implement.
As for the IDE, I won't rehash my review of Adobe Flash Builder 4, but highlights include comprehensive introspection of services and data sources, speedy two-way data binding, wizard-driven code generation for a variety of tasks, quick and easy wiring of data and event handlers to UI components, and prefabricated data paging routines that help ease coding to handle large data sets.
Since that review, which was written upon Flash Builder 4's release in March, Adobe also released Flash Catalyst, which is now promoted to first class citizen within the CS5 (Creative Suite 5) bundle. Catalyst's point-and-click framework makes it snap to wire event triggers and behaviors into your interfaces, and its symbiosis with the CS5 app suite (Illustrator, Photoshop, and Fireworks) simplifies passing projects from designer to developer.
Disappointingly, this workflow is a one-way street. Although I could bring Photoshop and Illustrator files into Catalyst, I had no luck going in the opposite direction. Modifications made to Catalyst files in Flash Builder induced errors when I reopened the files in Catalyst, despite my using the FXP file export option in Builder.
Still, Catalyst is an easy means for non-technical designers to contribute to UI development without getting bogged down by the underlying MXML language. Catalyst let me quickly define common interface components (scroll bars, buttons, etc.) from imported art files and tie them to data. Although the Catalyst interface is less than elegant (compared to other CS5 apps), its simplicity and Dreamweaver-style layout should minimize the learning curve.