Microsoft Silverlight is a programmable web browser plugin that enables features such as animation, vector graphics and audio-video playback that characterizes rich Internet applications. Version 2.0, released October 2008, brings additional interactivity features and support for .NET languages and development tools. It is compatible with multiple web browser products used on Microsoft Windows and Mac OS X operating systems or Mozilla Firefox, Google Chrome and Safari or Adobe Flash Player. Mobile devices, starting with Windows Mobile 6 and Symbian (Series 60) phones, will also be supported. A third-party free software implementation named Moonlight is under development to bring compatible functionality to GNU/Linux.
OverviewSilverlight provides a graphical system similar to Windows Presentation Foundation, and combines multimedia, graphics, animation andinteractivity in one software platform. It was designed to work with XAML and with .NET languages. XAML is used to mark up pages that use vector graphics and animation. The text contained in Silverlight applications is available for search engines, since it is not compiled, but is available in the form of XAML. Silverlight can also be used to create widgets for Windows Sidebar in Windows Vista.
Silverlight can play WMV, WMA and MP3 for all supported browsers without requiring additional components such as Windows Media Player. Since Windows Media Video 9 is an implementation of the SMPTE VC-1 standard, Silverlight supports VC-1 video only inside the ASF container. In addition, the license agreement says that VC-1 is allowed to use only for personal, non-commercial purposes ("personal and non-commercial use of a consumer"). Silverlight allows you to dynamically load XML and use the DOM to interact with it in the same way that it is done in Ajax. Silverlight contains a Downloader object, through which you can download scripts, media files, etc., if necessary to the application. Starting with version 2.0, the program logic can be described in any of the .NET languages, including dynamic programming languages such as Iron Ruby and Iron Python, which in turn are executed in DLR (Dynamic Language Runtime), rather than CLR (Common Language Runtime ).