Microsoft Silverlight is a programmable web browser plugin. It enables many features such as vector graphics, animation, and audio-video playback all these applications are rich internet applications. Version 2.0 of Microsoft Silverlight was released in October 2008. It got some additional interactive features and support for .NET languages and development tools. It is compatible with many web browsers used on Microsoft Windows and Mac OS X operating systems. Symbian phones and Windows Mobile 6 will also be supported. New third party free software named Moonlight is under development. Once released it will bring compatible functionality to GNU/Linux.
Similar to Windows Presentation Foundation Silverlight provides retained mode graphics system. It also integrates graphics, multimedia, interactivity and animations into a single runtime environment. Silverlight is designed to work in conjunction with XAML and is scriptable with JavaScript. XAML is used for marking up the vector graphics and animations. If you create textual content using Silverlight, it’s searched and indexed by search engines. The textual content is not compiled, but represented as text (XAML). Windows Sidebar gadgets for Windows Vista can also be created using Silverlight.
Playback of media files like WMA, MP3 and WMV is also supported by Silverlight across all the supported browsers. For the playback Silverlight doesn’t need Windows Media Player ActiveX control or Windows Media browser plugins. Windows Media Video 9 is an implementation of the SMPTE VC-1 standard; Silverlight supports VC-1 only in ASF container format. Adding to that the software license agreement says VC-1 is only licensed for the “personal and non-commercial use of a consumer”. Silverlight doesn’t provide support for H.264 video. With Silverlight it possible to dynamically load XML content that can be manipulated through a DOM interface. This technique is consistent with conventional Ajax techniques. A Downloader object which can be used to download content, like scripts, media assets or other data as per the requirements of the application is also installed in the Silverlight.
Silverlight applications can be written in any of the .NET programming languages. Therefore any development tools that can be used .NET languages can work with Silverlight. For this process development tools have to target Silverlight CoreCLR instead of .NET framework CLR. Microsoft Expression Blend version 2.0 and 2.5 are assigned the job of designing the UI of Silverlight 1.0 and 2, by Microsoft. To develop and debug Silverlight applications Visual Studios 2008 can be used. For creating Silverlight projects and allowing compiler to target CoreCLR, Visual Studio 2008 requires the Silverlight Tools for Visual Studio.
A Silverlight project consists of the Silverlight.js files and CreateSIlverlight.js files which initialize the Silverlight plugin for use in, a XAML file for the UI, HTML pages and code-behind files for the application code. Just like ASP.NET applications Silverlight applications are debugged. Visual Studio’s CLR Remote Cross Platform Debugging feature can be used Silverlight applications running on a platform as well. Eclipse was added as a development tool with Silverlight 2.0.