Silverlight Lives On With OpenSilver
Written by Mike James   
Tuesday, 12 October 2021

Today, October 12th 2021 marks the end of support of Microsoft Silverlight. It also sees the launch of OpenSilver 1.0 a modern, plug-in free open-source reimplementation of Silverlight, capable of running large, complex legacy applications, as well as newly written C# and XAML applications. 

It was a bleak day when Microsoft pulled the plug on SIlverlight development but it has been a further decade before Silverlight reached end of support - and of course even now anybody who is using Silverlight can continue to do so. But now there is an alternative that doesn't have an axe hanging over its head.


We first met OpenSilver in March 2020, see OpenSilver - Silverlight Reborn? when Userware, the French software company that originated it as an open source project hosted on GitHub, initially released a Preview. Now it has reached Version 1.0 status and marking its general availability Giovanni Albani, CEO of Userware stated:

“OpenSilver is now mature enough to run complex line-of-business apps. We can now offer a modern, enhanced version of Silverlight and expand the realm of possibilities for .NET developers when it comes to web applications.”

Userware's development of OpenSilver was motivated its strong belief that developers should not be compelled to rewrite existing applications because of a change in the underlying stack so it went about overcoming the roadblock that Microsoft had identified - that browser's would one day stop allowing plugins.

OpenSilver uses Mono for WebAssembly and Microsoft Blazor to bring back the power of C#, XAML, and .NET to client-side Web development. Explaining how this works Userware says:

Instead of using browser plugins, OpenSilver leverages WebAssembly to run applications directly and securely within the browser’s sandbox. WebAssembly files (.wasm) follow a W3C standard, and are natively recognized by all modern browsers, in the same way JavaScript, HTML, and CSS are. No knowledge of JavaScript, HTML, or CSS is required to build a fully functional web application. Controller logic written in C# runs in the browser thanks to Microsoft Blazor. As for the presentation layer, OpenSilver adds support for XAML. This makes for a full .NET development experience.

Thanks to this OpenSilver applications can run on every modern browser, across all platforms, including iOS, Android, Windows, MacOS, and Linux.

For those who have Silverlight apps, OpenSilver has advantages. It supports .NET Standard, .NET 5, and .NET 6, in addition to legacy Silverlight code. It uses features of the C# 9.0 and supports the latest Visual Studio.OpenSilver is also compatible with all JavaScript libraries, combining the best of both worlds. 

To migrate an existing Silverlight application, simply recompile its source code using OpenSilver. To do so, download and install the OpenSilver extension. Then, create a new project of type "OpenSilver", copy/paste your Silverlight code into that new project, and compile it.

Compilation errors are initially expected because some features are not supported, but you can work around those limitations, for example by importing a .NET Standard library or a JavaScript library. Once compiled, your application will run on all browsers without requiring users to install a plugin.

Userware also provides professional services to migrate entire applications from beginning to end.


  • Mike James, the founder and editor in chief of the I Programmer website. is also a prolific author. His latest book Deep C#: Dive Into Modern C# provides a “deep dive” into various topics that are important or central to the language at a level that will suit the majority of C# programmers.



More Information

OpenSilver website

Download OpenSilver

Source code on GitHub

Related Articles

OpenSilver - Silverlight Reborn?

Silverlight is dead, long live Silverlight?

Silverlight 5 - the end of the line

Dumping .NET - Microsoft's Madness

Was .NET all a mistake?

WPF & Silverlight at risk from Microsoft's passion for HTML5

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.



AWS Lambda Adopts Java 21

AWS Lambda functions can now use all the new and useful language features as well as performance improvements introduced in Java 21 as part of the Amazon Corretto JDK implementation.

Step CI - The API Quality Assurance Framework

Power up your API testing inside your CI workflow with Step CI, a free open-source tool that has also introduced a paid Support Plan.

More News




or email your comment to:


Last Updated ( Tuesday, 12 October 2021 )