Microsoft Silverlight

Microsoft Silverlight
Silverlight Logo
Developer(s) Microsoft Corporation
Initial release April 2007; 4 years ago (2007-April)
Stable release 4.0.60831.0  (October 11, 2011; 42 days ago (2011-10-11)) [+/−]
Preview release 5.0.60818.0  (September 1, 2011; 2 months ago (2011-09-01)) [+/−]
Operating system Microsoft Windows, Mac OS X, Windows Phone 7, and Symbian OS[1][2]
Platform Intel x86 32-bit, x86-64, ARM and S60
Type Application framework, Run-time environment and multimedia framework
License Freeware

Microsoft Silverlight is an application framework for writing and running rich Internet applications, with features and purposes similar to those of Adobe Flash. The run-time environment for Silverlight is available as a plug-in for web browsers running under Microsoft Windows and Mac OS X. While early versions of Silverlight focused on streaming media, current versions support multimedia, graphics and animation, and give developers support for CLI languages and development tools. Silverlight is also one of the two application development platforms for Windows Phone 7.

Over the course of four years Microsoft has released four versions: The first version was released in 2007; the last version, was released in April 2010; a fifth version is scheduled for release in the second half of 2011.[3] It is compatible with multiple web browsers used on Microsoft Windows and Mac OS X operating systems. Mobile devices, starting with Windows Phone 7 and Symbian (Series 60) phones, were expected to be supported in 2010.[4][dead link][5][dead link]

A free software implementation named Moonlight, developed by Novell in cooperation with Microsoft, is available to bring Silverlight versions 1 and 2 functionality to Linux, FreeBSD and other open source platforms - although some Linux distributions do not include it, citing redistribution and patent concerns.[6]



Silverlight provides a retained mode graphics system similar to Windows Presentation Foundation (WPF), and integrates multimedia, graphics, animations and interactivity into a single runtime environment. In Silverlight applications, user interfaces are declared in Extensible Application Markup Language (XAML) and programmed using a subset of the .NET Framework. XAML can be used for marking up the vector graphics and animations. Silverlight can also be used to create Windows Sidebar gadgets for Windows Vista.[7]

Silverlight supports H.264 video, Advanced Audio Coding, Windows Media Video (WMV), Windows Media Audio (WMA) and MPEG Layer III (MP3) media content[8][dead link] across all supported browsers without requiring Windows Media Player, the Windows Media Player ActiveX control or Windows Media browser plug-ins. Because Windows Media Video 9 is an implementation of the Society of Motion Picture and Television Engineers (SMPTE) VC-1 standard, Silverlight also supports VC-1 video. According to the end user license agreement VC-1 and H.264 are only licensed for the "personal and non-commercial use of a consumer".[9] Silverlight, since version 3, supports the playback of H.264 video.[10] Silverlight makes it possible to dynamically load Extensible Markup Language (XML) content that can be manipulated through a Document Object Model (DOM) interface, a technique that is consistent with conventional Ajax techniques. Silverlight exposes a Downloader object which can be used to download content, like scripts, media assets or other data, as may be required by the application.[11] With version 2, the programming logic can be written in any .NET language, including some derivatives of common dynamic programming languages like IronRuby and IronPython.[12]


According to, Microsoft Silverlight has a penetration of 64.16% on May 2011. Usage on July 2010 was 53.54%, whereas Adobe Flash is installed on 95.26% of browsers, and Java support is available on 76.51% of browsers (May 2011); these statistics makes Adobe Flash the market leader in terms of penetration.[13] As of 26 August 2011 (2011 -08-26), 0.3% sites are using Silverlight,[14] whereas site usage of Adobe Flash is around 27%.[15] Usage of Java on sites during the same time period is around 4%.[16]


Desktop computers

The following table presents an availability and compatibility matrix of Silverlight versions for various operating systems and web browsers.

OS/browser Internet Explorer 6 SP1 or later Internet Explorer 7 Internet Explorer 8 or later Mozilla Firefox 3 or later SeaMonkey Safari Opera Google Chrome
Windows 7 N/A N/A 1, 2, 3, 4 1, 2, 3, 4 1, 2 1, 2; via NPAPI Unofficially[17][18] 2, 3, 4
Windows Server 2008 R2 N/A N/A 1, 2, 3, 4 No 1, 2 1, 2; via NPAPI Unofficially[17][18] 2, 3, 4
Windows Vista
Windows Server 2008
N/A 1, 2, 3, 4 1, 2, 3, 4 1, 2, 3, 4 1, 2 1, 2; via NPAPI Unofficially[17][18] 2, 3, 4
Windows XP
Windows Server 2003
Windows Home Server
1, 2, 3, 4 1, 2, 3, 4 1, 2, 3, 4 1, 2, 3, 4 2 Unofficially 1, 2; via NPAPI Unofficially[17][18] 2, 3, 4
Windows 2000 (KB891861 required) 2, 3, 4 N/A N/A Unofficially[19] No 2; via NPAPI Planned[17] N/A
Mac OS 10.4/10.5 PowerPC N/A N/A N/A 1 N/A 1 Planned [17] N/A
Mac OS 10.4/10.5 Intel N/A N/A N/A 1, 2, 3, 4 N/A 1, 2, 3, 4 Planned [17] 3, 4 Unofficially
  • Opera will be officially supported with future builds.[17] Unofficially, Silverlight support is already available to Opera via a hack.[18] Starting from Silverlight 2, hacks are no longer required.[20]
  • On Linux^ and FreeBSD, the functionality will be made available via the compatible third-party Moonlight runtime.[21][22] Moonlight will be available for the major Linux distributions, with support for Firefox, Konqueror, and Opera browsers, provided it was obtained through Novell.[23] Miguel de Icaza has expressed an interest in working with developers from other operating systems (BSD, Solaris) and other browsers (Konqueror, WebKit and Opera) to ensure that Moonlight works fine on their systems.[24] Availability of Moonlight version 1.0 for FreeBSD was announced in March 2009,[25] but has been since been reported actually not to work.[26]
  • Silverlight requires an x86 processor with Streaming SIMD Extensions (SSE) support. Supported processors include the Intel Pentium III and up, and the AMD Athlon XP and up. Newer AMD Duron models are also supported.
  • Additional platforms are being considered as well.[27]
  • On Apple Inc.'s Download website, contributed by Microsoft, the system requirement states 800 MHz PowerPC G4 or onwards; however as the page specifies, it applies to Silverlight 1 only.[28]

Mobile devices

Silverlight is the primary development environment for Windows Phone 7 and is based on Silverlight 4. For previous versions of Windows Mobile, the first Community Technology Preview (CTP) for Windows Mobile 6 was expected in the second quarter of 2008, but it still not officially announced. Microsoft has stopped focusing on bringing Silverlight to Windows Mobile 6.x.[29] Nokia has announced plans to make Silverlight for Mobile available for S60 on Symbian OS, as well as for Series 40 devices and Nokia internet tablets.[30][31] Silverlight for Mobile supports Silverlight 2 content and .NET languages.[4] Silverlight for Windows Phone 7.1 is based on Silverlight 4.[32]

OS/Environment Native Skyfire Web Browser for S60
Windows Phone 7 Yes[31] N/A N/A
Symbian OS running S60 No Planned[4][30]

Development tools

A Silverlight application being edited in Microsoft Visual Studio.

Silverlight applications can be written in any .NET programming language. As such, any development tools which can be used with .NET languages can work with Silverlight, provided they can target the Silverlight CoreCLR for hosting the application, instead of the .NET Framework CLR. Microsoft has positioned Microsoft Expression Blend as a companion tool to Visual Studio for the design of Silverlight User Interface applications. Visual Studio can be used to develop and debug Silverlight applications. To create Silverlight projects and let the compiler target CoreCLR, Visual Studio requires the Silverlight Tools for Visual Studio.[33]

A Silverlight control is a ZIP format file with extension .XAP containing a list of one or more .NET managed assemblies (.DLL files) along with the AppManifest.XAML file containing this list along with the entry point (class and assembly). It can be hosted in any HTML file using an object tag, for example: <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"><param name="source" value="MySilverLightControl.xap"/></object>

A Silverlight project contains the Silverlight.js and CreateSilverlight.js files which initializes the Silverlight plug-in for use in HTML pages, a XAML file for the UI, and code-behind files for the application code. Silverlight applications are debugged in a manner similar to ASP.NET applications. Visual Studio's CLR Remote Cross Platform Debugging feature can be used to debug Silverlight applications running on a different platform as well.[34]

In conjunction with the release of Silverlight 2, Eclipse was added as a development tool option.[35]


An April, 2007 PC World report suggested that Microsoft intended to release certain parts of Silverlight source code as open source software,[36] but a week later Sam Ramji, director of platform technology strategy at Microsoft, contradicted the rumors by confirming that the company had no plans to open Silverlight.[37] Some controls that ship with Silverlight are available under the Microsoft Public License as a part of a separate project known as the Silverlight Toolkit.[38]

Silverlight's proprietary nature is a concern to competition since it may harm the open nature of the World Wide Web. Advocates of free software are also concerned Silverlight could be another example of Microsoft's embrace, extend and extinguish strategy.[39] Both Microsoft Silverlight and Adobe Flash are proprietary.[40] Flash's file formats are publicly documented standards,[41][42] as are Silverlight's.[43][44] However, the communication between a Flash player and a server is done by the proprietary protocol RTMP. Both Flash and Silverlight use patent-encumbered audio and video codecs.

Mono Moonlight implementation

The Mono team is currently developing Moonlight, a free and open-source implementation of both the Silverlight 1 and 2 runtimes.[45]

The project is officially supported by Microsoft who,[21] under an agreement with Novell, has made additional specifications, access to the Silverlight Base Class Library APIs, binary codecs and test cases available to the Mono team,[22] none of which are available to other members of the public.[46]

The "covenant" under which Novell has been granted this exclusive access also specifies conditions that are incompatible with the licensing that covers most other free and open source software. As examples, it specifically requires that the software must have been "obtained directly from Novell or through an Intermediate Recipient" and that it must be "not licensed under GPLv3 or a Similar License".[23] Some free software proponents have criticized the covenant[47].

Silverlight has received criticism for not living up to its cross-platform operating system compatibility promises, especially on Linux systems compared to its extensive support on Apple and Microsoft desktops for Internet Explorer, Firefox, and Chrome. Even though Microsoft is officially collaborating on the Moonlight project, Bruce Chizen, who was CEO of Adobe Systems at the time, which sells the competing proprietary Flash platform, questioned "the commitment of Microsoft to keep the Silverlight platform compatible with other OS besides Windows".[48] His concerns are based on "examples from history" where, he argues, Microsoft has launched products with promises of ongoing cross-platform compatibility that no longer apply, for example Internet Explorer for UNIX and Windows Media Player for Mac.

Relationship to existing web standards

California and several other U.S. states also have asked a District Judge to extend most of Microsoft's antitrust case settlement for another five years,[49] citing "a number of concerns, including the fear that Microsoft could use the next version of Windows to 'tilt the playing field' toward Silverlight, its new Adobe Flash competitor," says a Seattle Post-Intelligencer article. The final judgment on the motion extended the settlement two years, to November 2009, but for reasons unrelated to Silverlight.[50] In Windows 7 the Silverlight web browser plug-in is not installed automatically, but is a downloadable optional update through Windows Update.[51]

Microsoft has been criticized for not using the Scalable Vector Graphics (SVG) standard for Silverlight, which, according to Ryan Paul of Ars Technica, is consistent with Microsoft's way of ignoring open standards in other products, as well.[52] However, according to David Betz, a .NET specialist and Microsoft Most Valuable Professional (MVP), while it "seems to some to be a valid criticism and a good point to some of the web standards world, it is absolutely groundless and carries no weight." Microsoft would have had to alter the SVG specification in order to integrate it with .NET. Consequently, he thinks the "choice by Microsoft to use XAML over SVG, served to retain the SVG standard by not adding proprietary technology [to SVG]".[53][dead link].


  • Silverlight 1 - Silverlight 1, developed under the codename Windows Presentation Foundation/Everywhere (WPF/E) was released in 2007. It consisted of the core presentation framework, which is responsible for the user interface (UI), interactivity and user input, basic UI controls, graphics and animation, media playback, Digital rights management (DRM), and DOM integration.
  • Silverlight 2 - Included a version of the .NET Framework, implemented the same full Common Language Runtime (CLR) version as .NET Framework 3.0; so it can execute programs written in any .NET language.
  • Silverlight 3 - Silverlight 3 was announced on September 12, 2008, and unveiled at MIX09 in Las Vegas on March 18, 2009.[54] A beta version was made available for download the same day. The final version was released July 9, 2009. Silverlight 3 included more controls[55]—including but not limited to DataGrid, TreeView, various layout panels, DataForm for forms-driven applications and DataPager for viewing paginated data.
  • Silverlight 4 - On November 18, 2009, at the Professional Developers Conference in Los Angeles, Microsoft Corporation unveiled a Beta version of Silverlight 4.[56] The final version was released on April 15, 2010 (along with Silverlight 4 tools for developers). New features in Silverlight 4 include: Support for Google's Chrome browser; Web cam and microphone; Printing; More mouse support; New notification support to send messages to users; New and enhanced controls (e.g., RichTextBox, DataGrid); Theming of controls; rendering HTML; better localization, and others.
  • Silverlight 5 - On December 2, 2010 at the Silverlight Firestarter event, Silverlight 5 beta was announced for release in the 1st half of 2011. The final release is planned for the 2nd half of 2011.[57] New features include[58]: GPU accelerated video decoding, 3D graphics, playback speed controls, remote control and 64-bit support.


  1. ^ "Frequently Asked Questions § System requirements". Microsoft Silverlight product page. Microsoft Corporation. Retrieved 4 November 2010. 
  2. ^ Perez, Sarah (22 March 2010). "Silverlight for Symbian Plugin Now Available". Cool Stuff – A Channel 9 Blog. Microsoft Corporation. Retrieved 4 November 2010. 
  3. ^ "DevConnections - Visual Studio 2010 and Silverlight 4 Launch Event". Penton Media. 
  4. ^ a b c "Silverlight for Mobile". Retrieved 2008-03-09. [dead link]
  5. ^ "Silverlight Mobile rumored for Windows Mobile 7". Retrieved 2009-05-05. [dead link]
  6. ^ "Forbidden items - FedoraProject". 
  7. ^ Sterling, Charles. "Writing a Windows Sidebar Gadget in Silverlight dead simple". MSDN Blogs. Retrieved 2008-03-09. 
  8. ^ "Silverlight FAQs". Retrieved 21 January 2011. [dead link]
  9. ^ "Microsoft Silverlight 1.0 beta license". Retrieved 2007-06-14. [dead link]
  10. ^ "Discussed on Microsoft's web site in Q&A with Scott Guthrie". 
  11. ^ "Using a Downloader Object". Retrieved 2007-05-25. 
  12. ^ "Mono developers to bring Silverlight to Linux". 7 May 2007. 
  13. ^ "Rich Internet Application Market Share" (Flash). Retrieved 2011-07-24. 
  14. ^ "Usage of Silverlight for websites". W3Techs Technology Surveys. Q-Success. Retrieved 2011-08-26. 
  15. ^ "Usage of Flash for websites". W3Techs Technology Surveys. Q-Success. Retrieved 2011-07-24. 
  16. ^ "Usage statistics and market share of Java for websites". W3Techs Technology Surveys. Q-Success. Retrieved 2011-07-24. 
  17. ^ a b c d e f g h "Opera Watch: More details on Silverlight support in Opera". Retrieved 2007-05-02. 
  18. ^ a b c d e "Silverlight in Opera". Retrieved 2008-03-10. 
  19. ^ "Install Silverlight : Unsupported platform, system requirements". 
  20. ^ "Run Silverlight in Opera". Retrieved 2009-05-12. 
  21. ^ a b "Silverlight 1.0 Released and Silverlight for Linux Announced". Retrieved 2007-09-05. 
  22. ^ a b "Microsoft/Novell Collaboration on Silverlight". Retrieved 2007-09-05. 
  23. ^ a b "Covenant to Downstream Recipients of Moonlight – Microsoft & Novell Interoperability Collaboration". Microsoft. 2007-09-28. Retrieved 2008-03-08. "“Downstream Recipient” means an entity or individual that uses for its intended purpose a Moonlight Implementation obtained directly from Novell or through an Intermediate Recipient… Microsoft reserves the right to update (including discontinue) the foregoing covenant… “Moonlight Implementation” means only those specific portions of Moonlight 1.0 or Moonlight 1.1 that run only as a plug-in to a browser on a Personal Computer and are not licensed under GPLv3 or a Similar License." 
  24. ^ "Microsoft/Novell Collaboration on Silverlight". Miguel de Icaza. 2007-09-05. Retrieved 2008-11-09. "We will be supporting Firefox and Linux initially (that is our first goal) but we are looking forward to work with developers from other operating systems (BSD, Solaris) and other browsers (Konqueror, WebKit and Opera) to ensure that Moonlight works fine on their systems." 
  25. ^ "Moonlight 1.0 for FreeBSD availability announcement". 5 March 2009. 
  26. ^ "Installation and Maintenance of FreeBSD Ports or Packages". 
  27. ^ Stegman, Joe. "MSDN Forums Silverlight General Discussion: Linux support". Retrieved 2007-04-29. 
  28. ^ "Silverlight Download on Apple". 
  29. ^ Chapman, Stephen (2009-12-01). "Windows Mobile 7: Silverlight Applications, IE Mobile 7, and More!". 
  30. ^ a b "Nokia to enable Silverlight". 2008-03-04. ISSN 1797-1993. Retrieved 2008-03-04. 
  31. ^ a b "Windows Phone Silverlight Application Life Cycle". MSDN. Microsoft Corporation. 19 November 2010. Retrieved 26 August 2011. "Version 1.0; Applies To: Windows® Phone 7" 
  32. ^ "What's New in Silverlight for Windows Phone". MSDN. Microsoft Corporation. Retrieved 26 August 2011. "Silverlight for Windows Phone OS 7.1 is based on Silverlight 4. That means if you create a new Silverlight for Windows Phone application that targets Windows Phone OS 7.1, you can take advantage of several new features." 
  33. ^ "Microsoft Silverlight Tools for Visual Studio". Retrieved 2009-01-22. 
  34. ^ Parker, Nigel. "MIX07 Your Product is a feature of the Web!". Retrieved 2007-06-08. 
  35. ^ "Eclipse for Silverlight". Retrieved 2008-10-14. 
  36. ^ Montalbano, Elizabeth. "Microsoft Goes Open Source?".,131331-c,graphicsmultimedia/article.html. Retrieved 2007-04-29. 
  37. ^ Clarke, Gavin. "Silverlight glow dimmed by cross-platform concerns". Retrieved 2007-05-05. 
  38. ^ "Sample Source Code for Silverlight 2 Runtime and SDK Controls". 
  39. ^ Markoff, John (2008-08-11). "Microsoft leveraging Silverlight and riling critics". International Herald Tribune. Retrieved 2009-01-11. "Others take a darker view of Microsoft's intentions and argue that Silverlight is simply a rehash of the company's 1990s-era "embrace and extend" strategy for pre-empting Web competition. "They're still playing the same games," said Michael Nelson, professor of internet studies at Georgetown University. "It's a way to lock up the content, and it's not enabling as much innovation as we would like to see."" 
  40. ^ Meyer, David (2008-04-30). "Mozilla warns of Flash and Silverlight 'agenda'". ZDNet. Retrieved 2009-01-11. "Companies building websites should beware of proprietary rich-media technologies like Adobe's Flash and Microsoft's Silverlight, the founder of Mozilla Europe has warned." 
  41. ^ Adobe SWF file format specification
  42. ^ Adobe FLV file format specificationas official ISO standard
  43. ^ Microsoft Open Specification Promise
  44. ^ Microsoft ASF specification
  45. ^ "Mono Moonlight". Mono Project. Retrieved 2008-06-22. 
  46. ^ "Pre-Mix 08: Moonlight Updates". 2008-03-03. Retrieved 2008-03-08. 
  47. ^ Jones, Pamela (28 May 2008). "Shining Some Light on Microsoft's Moonlight Covenant". Groklaw. Retrieved 2008-08-25. "Moonlight is safe from threat only if you get it from Novell AND DO NOT PASS IT ON, as there are no protections for downstream recipients...Unless those downstream recipients get it from an 'Intermediate Recipient' defined to only include authorized resellers...It's like walking into a store and saying "I'm only going to pay half of the amount I owe and I hereby disclaim my duty to pay full price." You can try that, but the law supersedes whatever intent or desire you've expressed. At minimum, this shows how clearly they DO NOT want to coexist with GPL'd code." 
  48. ^ Chhabra, Gautam (April 20, 2007). "Adobe CEO questions Microsoft Silverlight cross-platform commitment". Java Entrepreneur. Retrieved 2007-12-06. 
  49. ^ Bishop, Todd (October 17, 2007). "Antitrust filing cites Microsoft Silverlight concern". Seattle Post-Intelligencer. Retrieved 2007-12-06. 
  50. ^ "Anitrust motion Executive Summary". Retrieved 2008-09-07. [dead link]
  51. ^ Bugnion, Laurant (2008-11-30). " "Silverlight on Windows Update (Windows 7)".". 
  52. ^ Paul, Ryan. "Microsoft's Flash-killer Silverlight steals the show at MIX07". Retrieved 2007-05-06. "[Microsoft's] perpetual unwillingness (or perhaps inability) to build on existing standards is deeply detrimental to users and developers. Internet Explorer 7 is still the only major web browser that has no native support for SVG. By neglecting to use the SVG standard in Silverlight and XAML in favor of a limited and incompatible facsimile, Microsoft has once again needlessly ignored what could have been an opportunity to empower developers and help Internet Explorer catch up with browsers that are more functional and standards-compliant." 
  53. ^ Betz, David. "Silverlight's Adoption as Public De-Facto Standard". Retrieved 2007-06-20. "Silverlight can be viewed as a web extension of the Windows Presentation Foundation (WPF), a .NET 3.0 technology and not simply as a new web technology. As such, it makes sense that Silverlight uses XAML, not SVG. If Silverlight were based on SVG, then there would be a chasm between Silverlight and the .NET Framework, but as it stands Silverlight's use of XAML makes it part of the .NET family. In fact, it’s important to note that elements in XAML usually represent objects in the .NET Framework; this would simply not be possible in SVG." 
  54. ^ "S. Somasegar launches Silverlight 3".;13n. 
  55. ^ Heuer, Tim. "A guide to Silverlight 3 new features". Retrieved 2009-03-23. 
  56. ^ "Silverlight 4 Beta What's New". Retrieved 2010-01-21. 
  57. ^ "Silverlight 5 announcement". Retrieved 2010-12-02. 
  58. ^ "Announcing Silverlight 5". Retrieved 2010-12-03. 

External links

Wikimedia Foundation. 2010.

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.