News

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 at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube