Earlier this month, Userware released the first version of OpenSilver, an open-source reimplementation of Microsoft Silverlight. OpenSilver runs on current browsers via WebAssembly, without requiring any additional plug-ins. The current version of OpenSilver is available as "Technology Preview," and it covers about 60% of the original Silverlight API.
Userware is a Paris-based software company specialized in Microsoft technologies. The same company is behind CSHTML5, a Visual Studio extension that allows the compilation of C# and XAML code into HTML and JavaScript. According to Giovanni Albani, CEO of Userware, OpenSilver aims at being a better, open-sourced version of Silverlight (already deprecated by Microsoft and with its end of support scheduled for October 2021):
(OpenSilver) brings back the power of C#, XAML, and .NET to client-side Web development. When it comes to the development of Rich Internet Applications (RIA) or Single Page Apps (SPA), Silverlight offered a level of productivity and power that has remained unmatched ever since. The vision to revive the Silverlight glory and to make it even better is ambitious, but it is achievable. The Silverlight story does not end in 2021. Its story is just being written.
According to the company, OpenSilver relies solely on open standards to re-implement Silverlight using Mono for WebAssembly and Microsoft Blazor. It is compatible with .NET Standard (unspecified version) and JavaScript, allowing existing JavaScript libraries to be directly imported and used along with the C# code. Also, using WebAssembly makes it possible for OpenSilver applications to run on modern browsers (desktop and mobile) without requiring a plug-in - which was the case with Silverlight.
The release also positions OpenSilver as a possible migration tool for legacy Silverlight applications. Userware affirms that it can be "3 to 5 times less expensive" migrating a legacy application to OpenSilver than to rewrite it using another technology. The company also offers professional Silverlight migration assistance as one of its paid services.
As part of the release, Userware published a showcase application containing functional examples and code snippets. The application was written in C# and XAML and compiled to WebAssembly using OpenSilver. Besides some of the essential components and XAML capabilities, the application also features support to WebSockets and a SignalR extension demo.
Other third-party components such as Telerik UI and Open RIA services are listed as future demo components (planned for 2020, according to the official roadmap). Significant performance improvements ("by at least 30 times") are also expected with Mono's Ahead-of-Time compilation feature for .NET, to be released later this year. Other current limitations of the release include the absence of auto-complete/IntelliSense when editing XAML code and support for ResX files.
OpenSilver Technology Preview can be downloaded from Userware's website as a Visual Studio 2019 extension. The source code is also available at GitHub (in a shared repository along with CSTHML5).