OpenSilver v1.0 Arrives as Microsoft Ends Silverlight Support

Userware, on a years-long mission to provide an open source alternative to Microsoft Silverlight, shipped OpenSilver 1.0 just as Microsoft ended support for the popular web-dev tool.

Silverlight was delivered via a browser plug-in and was primarily used to create Rich Internet Applications, providing functionality similar to Adobe Flash such as playing music, videos, animations and so on. As the plug-in approach faded away in favor of modern web constructs like HTML 5, browser support dwindled until it only worked with the aging Internet Explorer. Finally, Microsoft ended IE support earlier this month, effectively sounding the death knell for Silverlight 5, the latest and last version. The Silverlight site is still up, but the installer is gone. Microsoft isn't actively killing Silverlight apps, but those daring to use it will do so in unsupported scenarios and it won't even get any quality or security updates.

The sunsetting of Silverlight has for years been derided by a loyal fan base of developers who loved the technology and let their opinions be known. Many developers also expressed hesitation about adopting new Microsoft technologies that flourish for a while and then lose traction as the company moves in other directions. That can leave them stuck using a dead-end dev tool with no forward momentum, rendering them "Silverlighted."

Microsoft didn't give in, though, and for alternatives, the company suggests two paths forward for the non-web and web-dev camps:

  • For non-browser projects being migrated to a Windows desktop application, Microsoft recommends migrating to WinUI 3 with the Windows App SDK, which used to be called Project Reunion.
  • For web-based apps, the company recommends taking a look at Blazor, which lets developers re-use .NET Silverlight code. "Blazor lets you build interactive web UIs using C# instead of JavaScript. Blazor apps are composed of reusable web UI components implemented using C#, HTML, and CSS. Both client and server code are written in C#, allowing you to share code and libraries."

The client-side version of the the latter option, Blazor, is powered by WebAssembly, which allows for the compilation of C# code in the browser instead of the ubiquitous JavaScript that's basically used in every web app.

And it's also WebAssembly that backs OpenSilver, one of a number of projects that over the years have been proposed as Silverlight replacements.

The OpenSilver Showcase .NET Section
[Click on image for larger view.] The OpenSilver Showcase .NET Section (source: Userware).

"OpenSilver is a modern, plugin-free, open-source reimplementation of Silverlight, capable of running large, complex legacy applications, as well as newly written C# and XAML applications," Userware said on Oct. 12, the day Microsoft stopped supporting Silverlight.

"Developers worldwide have poured great amounts of effort into building countless Silverlight applications over the past 15 years. OpenSilver provides them with an alternative to rewriting them. It lets their existing code run on every browser, so that they can leverage their .NET skills and focus on new improvements instead."

The project's genesis was years earlier, as Visual Studio Magazine reported on Userware's C#/XAML for HTML5 (CSHTML5) in early 2018. Then last year came the debut of OpenSilver as a technology preview.

About a year and a half later, v1.0 was announced. "The development of OpenSilver was motivated by the team's strong belief that developers should not be compelled to rewrite existing applications because of a change in the underlying stack," Userware said this month. "The thousands of Silverlight applications still in production are a testament to this. Silverlight's end of life was announced in 2011, as a technical roadblock presented itself: browsers would one day stop allowing plugins. Yet many developers remained committed for over ten years to what they considered to be a valid platform, as it worked just fine for their purposes. OpenSilver has worked on lifting Silverlight's roadblocks and improving the underlying technology."

The Paris-based company's news release serves as a kind of FAQ for the project, answering questions about migration, feature equivalency and more.

As far as future plans, the company said, "The team is continually expanding coverage of Silverlight's platform APIs, and improving OpenSilver's ability to migrate WPF applications (in addition to Silverlight applications). Future versions of OpenSilver will also include new functionality, such as the ability to support applications written in VB.NET, and those using the Microsoft LightSwitch component."

More information (and a download) is available on the OpenSilver web site, while the source code can be found on GitHub. The news release can be found here.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus


  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

  • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

    Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

  • Data Anomaly Detection Using a Neural Autoencoder with C#

    Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

Subscribe on YouTube