The first stable release of the OpenSilver project has been published, offering an open implementation of the Silverlight platform, which allows for the creation of interactive web applications using C#, XAML, and .NET technologies. The project code is written in C# and is distributed under the MIT license. Compiled Silverlight applications can run in any desktop and mobile browser that supports WebAssembly, but the compilation is currently only possible on Windows using the Visual Studio environment.
Let us remind you that Microsoft ceased development of Silverlight's functionality in 2011, and plans to completely discontinue platform support by October 12, 2021. Similar to Adobe Flash, the development of Silverlight was halted in favor of standard web technologies. About 10 years ago, an open Silverlight implementation called Moonlight was developed based on Mono, but its development was stopped due to a lack of user demand.
The OpenSilver project attempts to revive the Silverlight technology with the aim of prolonging the life of existing Silverlight applications in light of the end of Microsoft’s platform support and the cessation of browser plugin support. Nevertheless, supporters of .NET technologies and the C# language can also use OpenSilver to create new applications. For application development and migration from the Silverlight API to equivalent OpenSilver calls, a specially prepared add-on for the Visual Studio environment is recommended.
OpenSilver is based on the code of the open-source Mono projects (mono-wasm) and Microsoft Blazor (part of ASP.NET Core), and it utilizes compilation to WebAssembly intermediate code for execution in the browser. OpenSilver is developed alongside the CSHTML5 project, which allows for the compilation of C#/XAML/.NET applications into a JavaScript representation suitable for running in the browser. OpenSilver extends the CSHTML5 codebase by enabling the compilation of C#/XAML/.NET into WebAssembly, rather than JavaScript.
As it stands, OpenSilver 1.0 fully supports all the core features of the Silverlight engine, including complete support for C# and XAML, as well as the implementation of most of the platform's API, sufficient for utilizing C# libraries like Telerik UI, WCF RIA Services, PRISM, and MEF. Moreover, OpenSilver also offers some advanced features not present in the original Silverlight, such as support for C# 9.0, .NET 6, and new versions of the Visual Studio development environment, along with compatibility with all JavaScript libraries.
Future plans include the intention to implement support for Visual Basic (VB.NET) in the coming year in addition to the currently supported C#, as well as providing tools for migrating WPF (Windows Presentation Foundation) applications. The project also aims to support the Microsoft LightSwitch development environment and ensure compatibility with popular .NET and JavaScript libraries, which are planned to be delivered as ready-to-use packages.
Source: opennet.ru
