Die Veröffentlichung von OpenSilver 2.1 wurde bekannt gegeben, das die Entwicklung der Silverlight-Plattform fortsetzt und die Erstellung interaktiver Webanwendungen mithilfe der Technologien C#, F#, 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 Projektscode ist in C# geschrieben und steht unter der MIT-Lizenz.
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.
Als Grundlage für OpenSilver wird der Code offener Projekte wie Mono (mono-wasm) und Microsoft Blazor (Teil von ASP.NET Core) verwendet, und zur Ausführung im Browser erfolgt die Kompilierung von Anwendungen in Zwischencode WebAssembly. OpenSilver setzt die Entwicklung des CSHTML5-Projekts fort, das es ermöglicht, C#/XAML/.NET-Anwendungen in JavaScript-Darstellungen zu kompilieren, die im Browser ausgeführt werden können, und erweitert dessen Codebasis um die Möglichkeiten zur Kompilierung von C#/XAML/.NET in WebAssembly statt in JavaScript.
Wesentliche Verbesserungen in OpenSilver 2.1:
- Unterstützung der funktionalen Programmiersprache F# hinzugefügt, die in einem Projekt zusammen mit der Markup-Sprache XAML zur Erstellung komplexer Benutzeroberflächen verwendet werden kann.
- Der ursprüngliche Satz von Beispielen "Silverlight Toolkit Samples", der von Microsoft bereitgestellt wurde, wurde an OpenSilver angepasst.
- Unterstützung von anpassbaren Design-Themen hinzugefügt. Insgesamt sind 12 Themen enthalten, die aus dem Silverlight Toolkit portiert wurden.
- Die Beispielanwendungsgalerie wurde um mehr als 100 kleine Programme in F# erweitert.
- Die Weiterentwicklung von SampleCRM wurde fortgesetzt, einem Beispiel für die Implementierung eines CRM-Systems zur Organisation der Kundeninteraktion im Unternehmen und zur Unterstützung des Vertriebs.

- Eine Alpha-Version des Frameworks XR# wurde vorgeschlagen, um .NET und XAML bei der Entwicklung von 3D-Anwendungen und Systemen für erweiterte oder virtuelle Realität zu verwenden.
- Das Animationssystem wurde überarbeitet, wobei die ursprünglich in Silverlight angebotenen Animationswerkzeuge implementiert wurden.
- Im UI-Element UIElement.Clip wurde die Möglichkeit implementiert, beliebige geometrische Objekte zu verwenden.
- Die Leistung wurde optimiert.
Zu den zukünftigen Plänen gehört die Bereitstellung einer visuellen Designumgebung, die die Erstellung von XAML-Schnittstellen im WYSIWYG-Modus ermöglicht, die Unterstützung zusätzlicher Funktionen von WPF, die Unterstützung der "Hot Reload"-Funktion in XAML (Übertragung von Codeänderungen auf die laufende Anwendung), die Unterstützung von LightSwitch, die Verbesserung der Integration mit dem Code-Editor VS Code, sowie die Integration mit dem .NET-Framework MAUI (Multi-platform App UI) zur Erstellung hybrider Anwendungen, die native Plattform-APIs nutzen.
Quelle: opennet.ru

