Microsoft's Silverlight 4 - more than Flash envy
MeeGo to phones, set-tops, and beyond
2010 is proving to be a big year for Silverlight, Microsoft's cross-platform browser plug-in.
"Four releases in two and a half years," said vice president Scott Guthrie at the launch of Silverlight 4.0 this month, and as Microsoft reveals more pieces of its strategy, the rationale for this energetic development is also emerging. It's more than just Flash-envy.
Silverlight is the main development platform for Windows Phone 7 - the other being the games-focused XNA - and Microsoft has plans for Silverlight on other devices, expanding its existing web role.
In this context, it was interesting to hear Intel describe its ambitions for the Linux-based MeeGo, a joint project with Nokia, which extend to SmartPhones and televisions as well as netbooks.
At the recent Developer Forum in Beijing, Intel said it is bringing Silverlight to MeeGo in October, apparently using Microsoft's code rather than the open-source Moonlight project.
The Silverlight platform has several components. The runtime is a browser plug-in that runs on Windows with Internet Explorer, Firefox, or Chrome, or on Intel Mac with Firefox or Safari. The download is around 6MB, and it includes video and audio capabilities along with a cut-down version of the .NET Framework, enabling applications to be written in C#, Visual Basic, or other .NET languages.
Silverlight visual designer in Visual Studio 2010
Graphics and layout in Silverlight are defined using XAML, an XML language also used by Windows Presentation Foundation (WPF). Silverlight 3.0 introduced the ability to run as a desktop application, though one that is sandboxed from local resources.
Silverlight is supported on the server by media streaming services and by middleware called WCF RIA Services, which simplifies authentication and data access. RIA Services integrate with ASP.NET on the server and with the Silverlight client framework.
Ever since the first release in 2007, Microsoft has been frantically plugging the most obvious holes in Silverlight's capabilities. New features in version 4.0 include printing, bi-directional text, rich text box for formatted text entry, deep linking so that an external URI can point to an internal page within Silverlight, data input validation, right-click support, clipboard access, drag and drop, webcam and microphone support, and digital rights management for offline content (just what you wanted).
Out of browser applications are much improved, with a WebBrowser control and a notification API. There is a new option for trusted applications, subject to user consent, which gives file system access and, on Windows only, the ability to call native code via COM interop. Trusted applications can also make cross-domain network calls, which means for example a Twitter client is now possible.