Die Veröffentlichung des Projekts OpenSilver 2.0 wurde vorgestellt, das die Entwicklung der Silverlight-Plattform fortsetzt und die Erstellung interaktiver Webanwendungen mithilfe von Technologien wie C#, XAML und .NET ermöglicht. Mit OpenSilver kompilierte Silverlight-Anwendungen können in allen Desktop- und Mobilbrowsern, die WebAssembly unterstützen, ausgeführt werden, jedoch ist die Kompilierung derzeit nur unter Windows mit Visual Studio möglich. Der Projektcode ist in C# geschrieben und wird unter der MIT-Lizenz verbreitet.
Im Jahr 2021 stellte Microsoft die Entwicklung und Wartung der Silverlight-Plattform zugunsten der Verwendung standardisierter Webtechnologien ein. Ursprünglich zielte das Projekt OpenSilver darauf ab, Werkzeuge bereitzustellen, um die Lebensdauer bestehender Silverlight-Anwendungen angesichts der Abkehr von der Unterstützung der Plattform durch Microsoft und des Endes des Supports für Plugins in Browsern zu verlängern. OpenSilver unterstützt alle grundlegenden Funktionen der Silverlight-Engine, einschließlich vollem Support für C# und XAML, sowie die Implementierung des Großteils der API der Plattform, die ausreichend ist, um solche C#-Bibliotheken wie Telerik UI, WCF RIA Services, PRISM und MEF zu verwenden.
In seiner aktuellen Form hat OpenSilver bereits die Grenze einer Schicht zum Verlängern der Lebensdauer von Silverlight überschritten und kann als eigenständige Plattform für die Erstellung neuer Anwendungen betrachtet werden. Zum Beispiel wird die Entwicklungsumgebung (Erweiterung für Visual Studio) entwickelt, die Unterstützung neuer Versionen der Programmiersprache C# und der .NET-Plattform bietet und die Kompatibilität mit JavaScript-Bibliotheken gewährleistet.
OpenSilver basiert auf dem Code von Open-Source-Projekten wie Mono (mono-wasm) und Microsoft Blazor (Teil von ASP.NET Core), und für die Ausführung im Browser wird die Kompilierung von Anwendungen in Bytecode für WebAssembly verwendet. OpenSilver entwickelt sich zusammen mit dem CSHTML5-Projekt weiter, das es ermöglicht, C# / XAML / .NET-Anwendungen in JavaScript darzustellen, die für die Ausführung im Browser geeignet sind, und erweitert seine Codebasis um die Funktionen zur Kompilierung von C# / XAML / .NET in WebAssembly anstelle von JavaScript.
Wesentliche Verbesserungen im Zweig OpenSilver 2.0:
- Die Unterstützung für VB.NET zur Entwicklung von Webanwendungen wurde hinzugefügt, wobei die Programmiersprache Visual Basic zur Festlegung der Logik und XAML zur Definition der Benutzeroberfläche verwendet wird.
- Die Integration mit den Frameworks Blazor, React und Angular wurde sichergestellt. Es wurde eine Komponente "XAML für Blazor" hinzugefügt, um OpenSilver in bestehende Blazor-Projekte zu integrieren.
- Die Funktion „Live XAML-Vorschau“ wurde hinzugefügt, um das entwickelte Interface während der Entwicklung anzuzeigen, ohne die Anwendung starten zu müssen.

- Vorlagen für Geschäfts Anwendungen wurden vorgeschlagen, die die Entwicklung von Web-Anwendungen für Unternehmen durch die Anwendung von RIA-Services (Rich Internet Applications Services), die automatisch generieren, vereinfachen. Server Objekte zur Ausführung auf der Client-Seite.

- SampleCRM wurde hinzugefügt – ein Beispiel für eine offene Anwendung mit der Implementierung eines funktionierenden CRM-Systems zur Organisation der Kundeninteraktion in Unternehmen und zur Unterstützung des Vertriebsteams.

- Die Möglichkeit zur Erstellung eigener Benutzeroberflächen-Layouts (Layout) und zur Verwendung separat gelieferter Schnittstellenelemente, wie z. B. Telerik UI für Silverlight, wurde hinzugefügt.

- Die Leistung des Simulators wurde erheblich gesteigert (bis zu 10 Mal) und die Debugging-Möglichkeiten wurden erweitert.

Zukunftspläne beinhalten die Bereitstellung einer visuellen Entwicklungsumgebung, die das Erstellen von XAML-Oberflächen im WYSIWYG-Modus ermöglicht, die Unterstützung von WPF, LightSwitch und F#, sowie die Verbesserung der Integration mit dem VS Code-Editor. Auf Basis von OpenSilver wird auch das XR#-Framework entwickelt, um .NET und XAML bei der Entwicklung von 3D-Anwendungen und Augmented- oder Virtual-Reality-Systemen zu nutzen.
Quelle: opennet.ru





