Credit Microsoft for being an excellent creator of platforms. Its Windows, Microsoft .NET, and Microsoft Office products are industry standards, and the company has made important inroads with Microsoft IIS, Windows Mobile, and many other products. On the Web, Microsoft Internet Explorer (IE) is the de facto standard, despite a slew of formalized Web standards, and even Microsoft's oft-criticized ActiveX technologies are widely deployed worldwide. With regard to Web rendering technologies, Microsoft hasn't been much of a presence, but the company hopes to change its standing with a new technology called Microsoft Silverlight, which is essentially a platform for developing rich applications that run in the browser. Here's what you need to know about Silverlight.
What It Is; What It Isn't
Although often compared to Adobe Flash technology, which provides basic animation, UI, and data display features, Silverlight is in fact dramatically more powerful and extensible. Consider just the ability to deliver video over the Web: With Flash, developers are stuck with the low-resolution, low-quality video users have come to associate with such video sites as YouTube. But Silverlight provides access to HD, full-fidelity video at a reliable 700Kbps of bandwidth. Microsoft will even host up to 4GB of video for users at no cost.
However, Silverlight isn't just about video. In conjunction with the release of this technology, Microsoft is also opening up new APIs for its various Windows Live services, including Live Search, Virtual Earth, and Windows Messenger. As a result, developers who target Silverlight will be able to access Microsoft's large and growing collection of back-end services from their Web applications.
From a programming perspective, Silverlight applications utilize .NET managed code and can be expressed in Extensible Application Markup Language (XAML), the XML-based markup language that Microsoft created for Windows Vista. XAML applications can be written using a simple text editor, or more preferably by using a graphical tool that creates XAML code, and are thus open for inspection by Web search engines and other online tools. This is another point that contrasts with Flash, which is essentially a closed "black box" environment. And because Silverlight is being targeted at Apple's Safari and Mozilla's Firefox browsers as well as IE, it should work on just about any computing platform, including Macintosh and Linux. (Most Silverlight developers will of course create their applications in Windows.)
Ultimately, what really sets Silverlight apart is the quality of the UIs you can create and the continued use of XAML, which is particularly easy to parse and automate with various designer tools. Whether it will translate into real-world success is hard to know. Certainly, Microsoft's track record with cross-platform browser add-ins has been poor at best.
If you're looking at rolling out Web applications that will access back-end data and you're working in a primarily Microsoft-based shop, do take a look at Silverlight. The first version should be shipping by the time you read this, but Microsoft is already offering an early public beta of the next version and will likely continue to update the technology.
In the current online world, in which many sites are transitioning into so-called Web 2.0 applications, Silverlight is only one of several competing technologies. But it offers numerous advantages for those who are wedded to Windows on the server and development sides. It's definitely worth investigating. For more information, visit the Silverlight Web site at http://silverlight.net/GetStarted