Projekt , die auf die Entwicklung einer offenen Implementierung der Plattform abzielt , deren Entwicklung 2011 von Microsoft eingestellt wurde, während die Unterstützung bis 2021 fortgesetzt wird. Wie im von Adobe Flash wurde die Entwicklung von Silverlight zugunsten der Verwendung standardisierter Web-Technologien eingestellt. Zu seiner Zeit wurde auf Basis von Mono bereits eine offene Implementierung von Silverlight entwickelt — , aber die Entwicklung wegen mangelnden Interesses der Nutzer an der Technologie.
Das OpenSilver-Projekt unternimmt einen weiteren Versuch, die Silverlight-Technologie wiederzubeleben, die es ermöglicht, interaktive Webanwendungen mit C#, XAML und .NET zu erstellen. Eine der Hauptaufgaben des Projekts besteht darin, die Lebensdauer bestehender Silverlight-Anwendungen unter den Bedingungen des Einstellens der Plattformunterstützung und der Browserunterstützung für Plugins zu verlängern. Es ist jedoch auch möglich, dass Befürworter von .NET-Technologien und der Programmiersprache C# OpenSilver nutzen, um neue Programme zu erstellen.
Als Grundlage für OpenSilver wird der Code der offenen Projekte () und (Teil von ASP.NET Core) verwendet, und für die Ausführung im Browser erfolgt die Kompilierung der Anwendungen in Zwischencode. . OpenSilver entwickelt sich zusammen mit dem Projekt , das die Ausführung von C#/XAML-Anwendungen im Browser durch deren Kompilierung nach JavaScript ermöglicht. OpenSilver nutzt die bestehende Codebasis von CSHTML5 und ersetzt die Komponente zur Kompilierung in JavaScript durch WebAssembly.
Projektcode unter der MIT-Lizenz. Kompilierte Webanwendungen können in allen Desktop- und Mobilbrowsern mit WebAssembly-Unterstützung laufen, die Kompilierung selbst erfolgt jedoch derzeit ausschließlich unter Windows mit Visual Studio 2019. Der aktuelle Stand unterstützt circa 60 % der am häufigsten verwendeten APIs von Silverlight. In diesem Jahr wird die Unterstützung für Open RIA- und Telerik UI-Dienste sowie die Synchronisierung mit der aktuellen Codebasis der Blazor- und Mono-Projekte für WebAssembly geplant, bei der die Unterstützung für die vorzeitige Kompilierung (Ahead-of-Time, AOT) erwartet wird, die in Tests eine Leistungssteigerung von bis zu 30-mal ermöglicht.
Quelle: opennet.ru
