De eerste stabiele release van het OpenSilver-project is gepubliceerd, dat een open implementatie van het Silverlight-platform biedt, waarmee interactieve webapplicaties kunnen worden gemaakt met behulp van C#, XAML en .NET-technologieƫn. De code van het project is geschreven in C# en wordt verspreid onder de MIT-licentie. Gecompileerde Silverlight-applicaties kunnen in elke desktop- en mobiele browser met WebAssembly-ondersteuning draaien, maar directe compilatie is voorlopig alleen mogelijk in Windows met behulp van Visual Studio.
Ter herinnering: Microsoft heeft in 2011 de ontwikkeling van Silverlight-functionaliteit stopgezet en heeft volledige beƫindiging van de platformondersteuning op 12 oktober 2021 vastgesteld. Zoals in het geval van Adobe Flash, werd de ontwikkeling van Silverlight stopgezet ten gunste van de toepassing van standaard webtechnologieƫn. Ongeveer 10 jaar geleden werd een open implementatie van Silverlight - Moonlight - ontwikkeld op basis van Mono, maar de ontwikkeling ervan werd stopgezet vanwege de mislukte technologie-acceptatie door gebruikers.
Het OpenSilver-project heeft de poging gedaan om de Silverlight-technologie weer tot leven te brengen om de levensduur van bestaande Silverlight-applicaties te verlengen in het licht van het beƫindigen van de ondersteuning van het platform door Microsoft en het stoppen van de ondersteuning door browsers voor plugins. Desondanks kunnen voorstanders van .NET-technologieƫn en de C#-taal OpenSilver ook gebruiken voor het maken van nieuwe toepassingen. Voor de ontwikkeling van een applicatie en de migratie van de Silverlight API naar equivalente OpenSilver-aanroepen wordt aangeraden om een speciaal voorbereide plugin voor Visual Studio te gebruiken.
Als basis voor OpenSilver wordt de code van de open projecten Mono (mono-wasm) en Microsoft Blazor (een onderdeel van ASP.NET Core) gebruikt, en voor de uitvoering in de browser wordt de compilatie van applicaties naar tussenliggende WebAssembly-code toegepast. OpenSilver ontwikkelt zich samen met het CSHTML5-project, dat het mogelijk maakt om C#/XAML/.NET-toepassingen te compileren naar JavaScript-code die kan worden uitgevoerd in de browser. OpenSilver breidt de codebase van CSHTML5 uit met de mogelijkheid om C#/XAML/.NET naar WebAssembly te compileren in plaats van naar JavaScript.
In de huidige versie ondersteunt OpenSilver 1.0 volledig alle belangrijke functionaliteiten van de Silverlight-engine, inclusief volledige ondersteuning voor de talen C# en XAML, evenals de implementatie van het grootste deel van de API van het platform, voldoende voor het gebruik van C#-bibliotheken zoals Telerik UI, WCF RIA Services, PRISM en MEF. Bovendien zijn in OpenSilver ook enkele geavanceerde functies beschikbaar die ontbreken in het oorspronkelijke Silverlight, zoals ondersteuning voor de C# 9.0-taal, .NET 6-platform en nieuwe versies van de ontwikkelomgeving Visual Studio, evenals compatibiliteit met alle bibliotheken in de JavaScript-taal.
Van de toekomstige plannen wordt aangegeven dat volgend jaar ondersteuning voor de Visual Basic-taal (VB.NET) zal worden geĆÆmplementeerd naast de momenteel ondersteunde taal C#, evenals de beschikbaarstelling van middelen voor de migratie van WPF (Windows Presentation Foundation) applicaties. Het project heeft ook ondersteuning voor de ontwikkelomgeving Microsoft LightSwitch en compatibiliteit met populaire bibliotheken van .NET en JavaScript in de planning, die in de vorm van gebruiksklare pakketten worden geleverd.
Bron: opennet.ru
