Microsoft Silverlight
Microsoft Silverlight is a discontinued application framework designed for writing and running rich internet applications, similar to Adobe's runtime, Adobe Flash. While early versions of Silverlight focused on streaming media, later versions supported multimedia, graphics, and animation, and gave support to developers for CLI languages and development tools. Silverlight was one of the two application development platforms for Windows Phone, but web pages using Silverlight did not run on the Windows Phone or Windows Mobile versions of Internet Explorer, as there was no Silverlight plugin for Internet Explorer on those platforms.
Microsoft terminated support for Silverlight on Internet Explorer 11 on October 12, 2021.
History
Introduction
From the initial launch in 2007, reviewers compared the product to Adobe's Flash.Adoption
According to statowl.com, Microsoft Silverlight had a penetration of 64.2% in May 2011. Usage in July 2010 was 53.6%, whereas market leader Adobe Flash was installed on 95.3% of browsers, and Java was supported on 76.5% of browsers. Support of these plugins is not mutually exclusive; one system can support all three.Silverlight was used to provide video streaming for the NBC coverage of the 2008 Summer Olympics in Beijing, the 2010 Winter Olympics in Vancouver, and the 2008 conventions for both major United States political parties. Silverlight was also used by Amazon Video and Netflix for their instant video streaming services, but Netflix said in its Tech Blog in 2013 that, since Microsoft had announced Silverlight's end-of-life, they would be moving to HTML video. Despite this, Netflix continued to support Silverlight playback for browsers that did not support HTML 5 until September 13, 2023.
Demise
Industry observers announced the death of Silverlight as early as 2011. In 2012, Microsoft deprecated Silverlight for HTML5 in Windows 8, but until 2015 it was not clear what Microsoft's official position was on Silverlight's future. In July 2015, a Microsoft blog post clarified that, "… we encourage companies that are using Silverlight for media to begin the transition to DASH/MSE/CENC/EME based designs".Microsoft planned to terminate Silverlight support on October 12, 2021. Support for IE7–8 was removed between 2014 and 2016, depending on the OS. Support for IE9 and IE10 has also ended "or though the support lifecycle of the underlying browsers, whichever is shorter." There is no Silverlight plugin available for Microsoft Edge Legacy|Microsoft Edge or newer. It has not been supported by Google Chrome since September 2015 or by Firefox since March 2017.
, less than 0.02% of sites used Silverlight, less than 1.3% used the also discontinued Adobe Flash Player, and less than 0.03% use Java client-side.
Overview
Silverlight provides a retained mode graphics system similar to Windows Presentation Foundation, and integrates multimedia, graphics, animations, and interactivity into a single run-time environment. In Silverlight applications, user interfaces are declared in Extensible Application Markup Language 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.Silverlight supports H.264 video, Advanced Audio Coding, Windows Media Video, Windows Media Audio, and MPEG Layer III media content 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 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". Silverlight makes it possible to dynamically load Extensible Markup Language content that can be manipulated through a Document Object Model 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. With version 2, the programming logic can be written in any.NET language, including some nuclear evolution of common dynamic programming languages like IronRuby and IronPython.
A free software implementation named Moonlight, developed by Novell in cooperation with Microsoft, was released to bring Silverlight version 1 and 2 functionality to Linux, FreeBSD, and other open source platforms, although some Linux distributions did not include it, citing redistribution and patent concerns. However, in May 2012, Moonlight was abandoned because of its lack of popularity.
Supported platforms
Over the course of about five years, Microsoft had released five versions with varying platform support: the first version was released in 2007, and the fifth major version on May 8, 2012. It is compatible with later versions of Internet Explorer web browser on Microsoft Windows operating systems, with Safari on Apple macOS, and with mobile devices using the Windows Mobile and Symbian platforms.Cross-platform Mozilla Firefox support for Silverlight was removed in Firefox 52 released in March 2017 when Mozilla removed support for NPAPI plugins, bringing it in-line with the removal of NPAPI plugin support in Google Chrome.
Desktop computers
Silverlight requires an x86 processor with Streaming SIMD Extensions support. Supported processors include the Intel Pentium III and up, the AMD Athlon XP and up, and newer AMD Durons.The following table presents an availability and compatibility matrix of Silverlight versions for various operating systems and web browsers.
| Web browser | Internet Explorer 6 SP1 or later | Internet Explorer 7 | Internet Explorer 8 and 9 | Internet Explorer 10 | Internet Explorer 11 | Firefox | Safari | Chrome | Edge | Opera |
| Windows 11 | ||||||||||
| Windows 10 | ||||||||||
| Windows 8.1 Windows Server 2012 or later | ||||||||||
| Windows 8 | ||||||||||
| Windows 7 Windows Server 2008 R2 | ||||||||||
| Windows Vista Windows Server 2008 | ||||||||||
| Windows XP Windows Server 2003 | ||||||||||
| Windows 2000 | ||||||||||
| macOS | ||||||||||
| Ubuntu Linux |
Support for Opera had been promised since May 3, 2007, when David Storey, the Chief Web Opener at Opera, revealed a Microsoft poster for MIX conference that had shown Opera integration as a part of Silverlight 1.1. However, Opera was never officially supported by Silverlight.
On Linux and FreeBSD, the functionality was available via Moonlight and Pipelight, though both projects have since been discontinued. Moonlight is available for the major Linux distributions, with support for Firefox, Konqueror, and Opera browsers, provided it was obtained through Novell. Miguel de Icaza has expressed an interest in working with developers from other operating systems and other browsers to ensure that Moonlight works fine on their systems. Availability of Moonlight version 1.0 for FreeBSD was announced in March 2009, but has since been reported not to actually work.
, the current version of Moonlight does not officially work on new versions of Firefox on Linux-based operating systems. However, it can be installed in an unofficial way and with Firefox 11 it works correctly when installed. As noted above, the Moonlight project was abandoned in May 2012.
A browser plugin named Pipelight used to provide Silverlight access. Pipelight requires browser support for NPAPI plugins, which newer versions of Firefox, Chrome, and Opera have dropped. As of 2018, the Pipelight project has been discontinued.
Mobile devices
Silverlight was not available on Android or iOS, the most prevalent operating systems on the mobile market.Silverlight was the primary development environment for Windows Phone and is based on Silverlight 4. For previous versions of Windows Mobile, the first Community Technology Preview for Windows Mobile 6 was expected in the second quarter of 2008, but it still has not been officially announced. Microsoft has stopped focusing on bringing Silverlight to Windows Mobile 6.x. Nokia announced plans to make Silverlight for Mobile available for S60 on Symbian OS, as well as for Series 40 devices and Nokia internet tablets. Silverlight for Mobile supports Silverlight 2 content and.NET languages. Silverlight for Windows Phone 7.5 is based on Silverlight 4.
Development tools
Silverlight applications could 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.A Silverlight control is a ZIP format file with extension.XAP containing a list of one or more.NET managed assemblies along with the AppManifest.XAML file containing this list along with the entry point. It can be hosted in any HTML file using an object tag, for example:
A Silverlight project contains the and 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.
In conjunction with the release of Silverlight 2, Eclipse was added as a development tool option.