Introducing

September 13, 2021

Today we are introducing the OpenSilver Beta. Our open-source reimplementation of Silverlight that runs on current browsers via WebAssembly is building up towards release 1.0 due for October 12.

 

Why OpenSilver?

With the browser industry shifting away from the plugins model, Microsoft Silverlight will soon reach the end of support, and the installer will no longer be available for download after October 12. Thousands of companies that relied on it for their Intranet applications are forced to rewrite them using other technologies, spending months or even years of man-hours, allocating critical resources that could be leveraged elsewhere, and risking ending up with applications that might have fewer features than the original ones.

OpenSilver is an open-source implementation of Silverlight that doesn’t require plugins. The technology has been in Technical Preview since March 2020 and is today being released in Beta. It provides a path forward for .NET developers and IT departments that still have legacy Silverlight applications. We envision two objectives for OpenSilver :

  • To provide an alternative to rewriting from scratch with another technology, and allow for the migration of legacy Silverlight applications in a short period of time while retaining all the features of the original applications.
  • To create a tool to build rich web applications from scratch using C# and XAML, with the efficiency and productivity of the Silverlight SDK.

How does it work ?

OpenSilver is distributed as an extension for Microsoft Visual Studio. It works by letting developers re-compile the source code of their Silverlight application into files that all modern browsers recognize, that is, HTML, CSS, and WebAssembly. WebAssembly (WASM) is a new and industry-standard technology that is now built into all modern browsers, including Microsoft Edge, Google Chrome, Mozilla Firefox, and Apple Safari. OpenSilver leverages WebAssembly to make Silverlight applications run natively and securely on all browsers without requiring any installation or plugin.

Under the hood, OpenSilver leverages the open-source Microsoft Blazor technology and the Mono for WebAssembly components to compile C# and .NET to WebAssembly. While Blazor brings developers a step closer to frontend .NET-based development, it still requires them to use HTML and CSS. OpenSilver is built on top of Blazor to provide XAML support, compatibility with the Silverlight APIs, and a Simulator-based debugging experience that is identical to that of desktop development. Developers can build and maintain their applications using solely C# and XAML, without Razor nor HTML. The GUI is converted to HTML at runtime. While backward compatible with Silverlight code, OpenSilver also provides support for more modern technologies including the latest Visual Studio, the latest C# language versions, .NET Standard, and .NET 6.

Compatibility

OpenSilver applications are compatible with all browsers that support WebAssembly, which include all major browsers (Edge, Chrome, Firefox, Safari…) on all major platforms (Windows, macOS, iOS, Android, Linux, ChromeOS…).

When an application is compiled using OpenSilver, it runs on all those browsers without requiring users to install a plugin.

Existing Silverlight applications need to be recompiled with OpenSilver in order to run on those browsers.

How to test it

You can see an example of application here.

To build your own application, simply download the free extension for Microsoft Visual Studio 2019 (16.11+) or 2022 (OpenSilver.VSIX), which installs the Project Templates to the “New Project” dialog.

When creating a new OpenSilver project with Visual Studio, you can choose between the Silverlight and the UWP dialects of XAML.

Migrating an existing Silverlight application to OpenSilver

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 (read below), 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.

A “Silverlight Migration Support Plan” is available, which includes support and assistance to quickly get up and running.

Some of the benefits of migrating using OpenSilver include a much lower total cost, the ability to reuse the current skills of your team, greater knowledge of the code by your team, greater efficiency after migration, and fewer risks of writing new bugs because the original code has already been tested and its bugs are already known.

The management team will also save a lot of time and effort because there won’t be the need to write functional nor technical specifications for the migrated application, nor to make countless meetings in case of outsourced development with a different technology.

Professional Migration Services

Userware – the company behind OpenSilver – also provides professional services to migrate entire applications from beginning to end.

To get a quote for a turn-key migration by Userware, simply contact: [email protected]

You can also upload a XAP file (the Silverlight application executable) to quickly receive a quote. To do so, visit the Upload XAP page.

About us:

Our company Userware was founded in 2007 in Paris, France, by two experts in Microsoft technologies. It now has a portfolio of products with more than 25,000 customers in over 75 countries.

Our team is made of .NET developers who believe that Silverlight was the best platform ever for developing line-of-business (LOB) rich internet applications (RIA). We are sad to see Silverlight die due to the lack of support for plugins in modern browsers, so we want to save it by reimplementing it using modern, open, and standards-based technologies.

We have been working very diligently for the past 7 years on CSHTML5, a Visual Studio extension that compiles C#, XAML into HTML, JavaScript. We have been able to reuse most of the CSHTML5 code to deliver OpenSilver very quickly, replacing JavaScript with WebAssembly for native execution and improved .NET compatibility.

We are now working to make OpenSilver as good as Silverlight, and we want to make it even better, so that developers have the tools to build amazing products that can change the world.

Acknowledgements:

OpenSilver wouldn’t be possible without the amazing work by the incredibly talented people in the Mono for WebAssembly and Blazor teams at Microsoft.

Contact:

Please click here to contact us.

 

Press Room:

Please visit the Press Room for material including the Press Release, the logo, and more.