First look: Microsoft Silverlight 3 challenges Adobe AIR
Redmond's much-enhanced rich Internet application platform also runs on Windows or Mac desktops, online or offlineFollow @infoworld
Recently I've been hearing from Adobe on a regular basis about adoptions of the Adobe Flash Platform by large media organizations, such as Clear Channel Radio and MLB.com, for streaming media content to the Web both live and on demand. I've been hearing rather less from Microsoft about Silverlight adoptions.
I think that part of the reason is that Adobe leapfrogged Microsoft last winter in the area of media support, particularly H.264/Advanced Audio Coding (AAC) audio and full HD video playback. These and many other capabilities are included in Silverlight 3, which is currently in a beta that does not include a "go live" license, but will most likely be released in July.
Another area where Flash and Flex were ahead of Silverlight is Windows and Macintosh desktop operation. A number of desktop Flex/AIR applications have become popular, especially Twitter clients; examples include TweetDeck, Twhirl, DestroyTwitter, and Seesmic Desktop. (Let's ignore the memory leak issues they all have in common for the moment.)
Out of the browser
Silverlight 2 didn't have a viable way to run on a desktop; the best a developer could do along those lines was to build a desktop WPF (Windows Presentation Foundation) application based loosely on a corresponding Silverlight RIA (rich Internet application). Silverlight 3 addresses those issues very nicely, with easy ways to install Silverlight applications on a desktop, update them in place, detect Internet connectivity state changes, and store information locally and securely.
The Expression Blend 3 Preview can import Adobe files and has its own code editor -- big improvements from previous versions.
The sample from the previous image (part of a memory card game) running in a browser.
What else was wrong with Silverlight 2? From a developer's point of view, no single tool covered all needs; Expression Blend 2 did graphical XAML design but couldn't edit code, and Visual Studio 2008 did code editing and XAML editing and preview, but couldn't do graphical XAML design. That will be fixed in Expression Blend 3 and Visual Studio 2010, both of which have solid betas. For designers, the Expression Blend 3 Preview already imports Adobe Photoshop and Illustrator files, another lack in Blend 2, and will add "SketchFlow" prototyping and interactive behaviors in a future release.
In addition, Silverlight 2 lacked 3-D graphics, pixel shader effects, writing to bitmaps, animation effects, themes, decent data binding, and a reasonable assortment of controls. Those deficiencies are all fixed in Silverlight 3.
Rich and obscure
Silverlight has long been strong on execution speed and language support. Both of those are getting better still in version 3.
I do not expect many Adobe shops to give up their Flash, Flex, and AIR for Silverlight 3. I do expect many Microsoft shops to do more RIAs with Silverlight now that it's more capable and to create lightweight browser/desktop Silverlight 3 applications where they might have fashioned heavier-weight Windows Forms or WPF client applications. Some mixed but Microsoft-oriented shops might phase out their Adobe work in favor of Silverlight on integration grounds, but some won't. Meanwhile, the next generation of streaming media adoptions are likely to be closely contested, now that the two technologies are near parity.
Of course, in a few months everything will change again. Stay tuned.
|Pros||Silverlight 3 applications can run in or out of the browser, online or offline. Much improved audio and HD video support. 3-D graphics and pixel shading effects. Many more controls, with enhanced data support. Expression Blend can import Adobe Photoshop and Illustrator files.|
|Cons||No go-live license for the beta; need to wait for release, probably in July.|
|Platforms||Development: Windows XP SP2 or later with Visual Studio 2008 SP1 or Visual Web Developer Express 2008 SP1. Runtime: Windows XP SP2 or later, or Intel-based Mac OS X.|