Den første stabile udgave af OpenSilver-projektet er nu offentliggjort. Det tilbyder en open source-implementering af Silverlight-platformen, der gør det muligt at skabe interaktive webapplikationer med teknologier som C#, XAML og .NET. Koden er skrevet i C# og distribueres under MIT-licensen. De kompirererede Silverlight-applikationer kan køre i enhver desktop- og mobilbrowser, der understøtter WebAssembly, men compilation er indtil videre kun mulig på Windows ved hjælp af Visual Studio.
Det skal bemærkes, at Microsoft stoppede udviklingen af Silverlight-funktionaliteten i 2011, og den 12. oktober 2021 planlagde de at stoppe al support til platformen fuldstændig. Ligesom med Adobe Flash blev udviklingen af Silverlight afsluttet til fordel for standard webteknologier. For omkring 10 år siden blev der allerede arbejdet på en open source-implementering af Silverlight kaldet Moonlight, men dens udvikling stoppede på grund af teknologisk uinteresse blandt brugerne.
OpenSilver-projektet forsøger at genoplive Silverlight-teknologien med det mål at forlænge levetiden for eksisterende Silverlight-applikationer i lyset af Microsofts afslutning af platformens support og browsere, der stopper med at støtte plug-ins. Ikke desto mindre kan tilhængere af .NET-teknologierne og C# også bruge OpenSilver til at udvikle nye programmer. For udvikling af applikationen og migration fra Silverlight API til ækvivalente kald i OpenSilver foreslås det at bruge et specialdesignet tillæg til Visual Studio.
OpenSilver er baseret på koden fra de åbne projekter Mono (mono-wasm) og Microsoft Blazor (en del af ASP.NET Core), og til udførelsen i browseren anvendes kompilering af applikationer til WebAssembly-mellem kode. OpenSilver udvikler sig sammen med CSHTML5-projektet, som muliggør kompilering af C#/XAML/.NET-applikationer til et JavaScript-repræsentation, der kan køre i browseren. OpenSilver udvider CSHTML5's kodebase med muligheden for at kompilere C#/XAML/.NET til WebAssembly og ikke til JavaScript.
I den nuværende version understøtter OpenSilver 1.0 fuldt ud alle hovedfunktioner i Silverlight-motoren, herunder fuld støtte for C# og XAML, samt implementeringen af størstedelen af API'et til platformen, hvilket er tilstrækkeligt til at bruge C#-biblioteker som Telerik UI, WCF RIA Services, PRISM og MEF. Desuden er der i OpenSilver også nogle avancerede funktioner, der ikke er tilgængelige i den originale Silverlight, såsom støtte for C# 9.0, platformen .NET 6 og nye versioner af Visual Studio, samt sikring af kompatibilitet med alle biblioteker baseret på JavaScript.
Blandt fremtidsplanerne er der et ønske om at implementere støtte for Visual Basic (VB.NET) næste år, ud over det aktuelt understøttede sprog C#, samt at levere værktøjer til migrering af WPF-applikationer (Windows Presentation Foundation). Projektet har også til hensigt at implementere støtte for Microsoft LightSwitch udviklingsmiljøet og sikre kompatibilitet med populære .NET- og JavaScript-biblioteker, som vil blive leveret i form af brugsklare pakker.
Kilde: opennet.ru
