Microsoft Silverlight, now only supported in the legacy Internet Explorer, goes completely end of life on 12 October – but an open-source project called OpenSilver has appeared to convert Silverlight projects to WebAssembly.
Silverlight is a plugin developed by Microsoft in what now seems like an alternative universe, when Adobe Flash looked like it might become the de facto platform for multimedia and a strong contender for cross-platform client applications.
The first version of Silverlight appeared in 2007 as a multimedia player, but was soon followed by versions that included a cut-down .NET runtime and could run both in the browser and on the desktop, on Windows and Mac (Linux support was claimed but never fully delivered). Silverlight content and applications were defined in XAML, a slimline version of Windows Presentation Foundation. Silverlight also became the runtime for applications on Windows Phone.
Everything changed in 2010 when the late Apple CEO Steve Jobs posted his Thoughts on Flash (now sadly removed from the Apple website) confirming that Flash would not be supported on iOS. "It is not Adobe's goal to help developers write the best iPhone, iPod and iPad apps. It is their goal to help developers write cross platform apps," he wrote.
But there was a period when Silverlight looked like Microsoft's direction of travel for cross-platform and browser-hosted applications, and many developers invested effort in it. Some of those may be still running today, but if so, time is being called.
"Microsoft Silverlight will reach the end of support on October 12, 2021," the company stated. "Silverlight development framework is currently only supported on Internet Explorer 10 and Internet Explorer 11, with support for Internet Explorer 10 ending on January 31, 2020. There is no longer support for Chrome, Firefox, or any browser using the Mac operating system."
Silverlight applications may continue to work, but the installer will no longer be available. Determined users should also note that IE 11 goes out of support on 15 June 2022, though IE Mode in Edge continues.
- Feeling saucy? Wave of Microsoft releases includes go-live licence for .NET 6
- Cross-platform Windows Presentation Framework, anyone? The short answer: yes. Unpacking Avalonia
- Last stop before MAUI: Xamarin Forms 5.0 released for cross-platform mobile, new features, new bugs
- Blazor: Full stack C# and Microsoft's pitch for ASP.NET Web Form diehards
According to the docs: "The general principle for migrating a Silverlight application to OpenSilver consists of creating an OpenSilver-type project for each of the original Silverlight projects, then copying/pasting all the files from the original projects to the OpenSilver projects, and finally compiling the solution."
The OpenSilver Showcase shows off many of the supported features, including an impressive array of panels and controls including DataGrid and tab control, .NET capabilities including file handling, Linq and AysncAwait, access to isolated storage, use of SOAP and REST web services, and support for WebSockets.
OpenSilver is promising to release a "full version" on 12 October – when Silverlight goes out of support. That said, a quick look at the repository suggests that it is work in progress, with the key matter being the extent of the subset of Silverlight that works. On the to-do list is a new layout system, Visual Basic support, migration for WPF applications, and even support for Microsoft LightSwitch, an ill-fated but once promising development tool from times past.
The OpenSilver developers are also waiting anxiously for Ahead-of-Time (AoT) Compilation for Microsoft Blazor, coming in .NET 6.0. Blazor also runs C# in a web browser via WebAssembly, and OpenSilver makes use of it. According to its press release: "The beta version can now make use of AoT compilation for up to 15 times improved performance compared to the first release."
The existence of OpenSilver demonstrates the way in which Microsoft's various shifts of direction in its development platform has left some users stuck with technologies that have no future – see Visual Studio Tools for Office for another example.
That said, the advent of .NET Core as well as Blazor means there are now a number of options for running .NET code cross-platform or in the browser. The Uno platform is another option for Silverlight and there is a migration guide.
"We are .NET developers who believe that Silverlight was the best platform ever for developing line-of-business (LOB) applications," said the press release. Over a decade after Microsoft's "strategy shifted" there are those who do not want to let it go.
However, we found that the Showcase does not work properly on an iPad. Maybe by the time of "full release" it will. ®