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
Flash may not be coming to the iPhone or iPad, but it still has the edge over Silverlight in client support, thanks to the ubiquitous Flash Player. Flash is also stronger on digital rights management, providing granular controls over streaming media and data downloads via Flash Access 2.0. Adobe's development environment doesn't stack up with Microsoft's now that Silverlight tools have been integrated into Visual Studio 2010, nor has Adobe done as good a job as Microsoft in integrating design and development. Nevertheless, the Flash Builder IDE is no slouch, and Flash Catalyst is a welcome addition.
With Flash 10.1 and Flash Builder 4 the Flash platform has been bolstered for better data access. Flash remoting can now tap SOAP and REST Web services as well as ASP.Net, J2EE, PHP, BlazeDS, and Adobe's ColdFusion and LiveCycle Data Services server for data streaming.
Some may view Flash's lack of tight, direct integration with common server technologies -- such as Silverlight's access to .Net, COM, and WCF -- as a drawback. But I think this server-independent solution makes a perfect pairing for the flexible, modular applications in demand today.
With the advent of ActionScript 3, Adobe graduated from a general scripting language to a far more powerful, object-oriented, event-driven programming language. Developers gained familiar constructs like classes and objects, and Flash gained a multifold speed boost in the process.
New releases to Flash Player and AIR -- the first major AIR rev in two years -- bring important features onboard that address faults for which Adobe has recently faced much public criticism. Hibernation of inactive Flash apps (i.e., those running in a hidden browser tab) help improve perceived performance and reduce memory and power demands. Adobe has also added multitouch and gesture support, along with awareness for onscreen keyboards, making Flash friendlier to tablet and smartphone deployment.
New memory management tweaks and improved garbage collection routines will boost both desktop and mobile performance. In addition, hardware acceleration of video decoding and playback makes for a more efficient power consumption profile.
The Mac runtime has now been migrated to the Cocoa framework, Apple's Objective-C development platform. Providing native support for graphics, sound, and print functions, the realignment should improve compatibility and diminish the number Flash-induced Mac crashes.
|Adobe Flash 10.1/AIR 2||Microsoft Silverlight 4|
|Client platform support||Runs on Windows XP SP3, Windows 7/Vista, Mac OS X, and Linux (Fedora Core 12, Ubuntu 9.10, OpenSuse 11.2); Flash Player 10.1 for Android. Mac support has improved with a shift to Cocoa framework (native graphics, sound, print). Still no 64-bit Flash Player for Windows.||Runs on Windows XP SP3, Windows 7/Vista, Windows Server 2003 SP2, Windows Server 2008 SP2, Windows Phone 7, Symbian, and most browsers on Windows and Mac. Not available on Linux, although an open source solution comprising Moonlight and Mono (for code execution) is a possible workaround for Silverlight 2 apps.|
|IDE||Flash Builder is helpful for binding Flash and AIR apps to back-end data sources, but any transport mediation requires addition of BlazeDS or LiveCycle. ActionScript debugger is light compared to debugging in Visual Studio. Removal of Version Cue support leaves developers seeking an asset management solution.||Visual Studio 2010 with Silverlight 4 Toolkit with WCF RIA Services 1.0 provides good data access for n-tier, data-driven apps. Excellent debugging facilities. Supports cross-compile for .NET and Silverlight from a single codebase. A world-class toolkit.|
|UI designer and interaction coding||Adobe Flash Catalyst offers good asset import from other CS5 design tools and helps wire triggers and behaviors to import into Flash Builder. Modified files can't be reopened in Catalyst. Interface is clumsy compared to Microsoft's tools.||Microsoft Expression Blend 4 wows with advanced features such as conditional behavior modeling. Code completion and drag-and-drop binding make Blend feel like a real dev tool. New XAML designer in Visual Studio 2010 means never having to leave the IDE.|
|Codec support||Sorenson Spark, ON2 VP6, H.264, F4V. ADPCM, MP3, AAC, Speex.||WMV/WMA, H.264, MP3, AAC. Third-party codecs supported via the new Raw AV pipeline.|
|DRM||Adobe Flash Access 2 provides content security and device access controls via Flash and AIR clients. Good authentication and rules development. Supports HDCP flags. Works with Flash Media Server and HTTP dynamic streaming.||Windows Media Digital Rights Management 10 (WMDRM 10) and Microsoft PlayReady DRM (available with additional server for AES encryption and extending DRM to offline content) secure streams, downloads, subscriptions, and rentals. No support for Linux clients yet.|