La version 2.1 du projet OpenSilver a été publiée, poursuivant le développement de la plateforme Silverlight et permettant de créer des applications web interactives à l'aide des technologies C#, F#, XAML et .NET. Les applications Silverlight compilées avec OpenSilver peuvent fonctionner dans tous les navigateurs de bureau et mobiles prenant en charge WebAssembly, mais la compilation est actuellement possible uniquement sous Windows en utilisant l'environnement Visual Studio. Le code du projet est écrit en C# et est publié sous licence MIT.
En 2021, Microsoft a interrompu le développement et le support de la plateforme Silverlight au profit de l'utilisation de technologies web standard. Au départ, le projet OpenSilver visait à fournir des outils pour prolonger la vie des applications Silverlight existantes dans un contexte d'abandon du support par Microsoft et de la fin du support des plugins dans les navigateurs. OpenSilver prend en charge toutes les principales fonctionnalités du moteur Silverlight, y compris le support complet des langages C# et XAML, ainsi qu'une large partie de l'API de la plateforme, suffisamment pour utiliser des bibliothèques C# telles que Telerik UI, WCF RIA Services, PRISM et MEF.
Dans sa forme actuelle, OpenSilver a déjà dépassé le cadre du simple prolongement de la vie de Silverlight et peut être considéré comme une plateforme autonome pour la création de nouvelles applications. Par exemple, le projet développe un environnement de développement (un complément à Visual Studio), assure le support des nouvelles versions du langage C# et de la plateforme .NET, et fournit la compatibilité avec des bibliothèques écrites en JavaScript.
OpenSilver s'appuie sur le code de projets open source Mono (mono-wasm) et Microsoft Blazor (une partie d'ASP.NET Core) ; pour l'exécution dans le navigateur, il utilise la compilation des applications en code intermédiaire WebAssembly. OpenSilver continue le développement du projet CSHTML5, permettant de compiler des applications C#/XAML/.NET en représentation en JavaScript, convenant à un lancement dans le navigateur, et élargit sa base de code avec les capacités de compilation de C#/XAML/.NET en WebAssembly, plutôt qu'en JavaScript.
Améliorations clés dans OpenSilver 2.1 :
- Ajout du support du langage de programmation fonctionnelle F#, qui peut être utilisé dans un même projet avec le langage de balisage XAML pour construire des interfaces utilisateur complexes.
- L'ensemble original d'exemples « Silverlight Toolkit Samples » livré par Microsoft a été adapté pour fonctionner avec OpenSilver.
- Ajout de la prise en charge de thèmes personnalisables. 12 thèmes portés depuis Silverlight Toolkit sont inclus.
- Plus de 100 petits programmes en F# ont été ajoutés à la galerie d'exemples d'applications.
- Le développement de SampleCRM, un exemple d'implémentation d'un système CRM pour organiser les interactions avec les clients d'une entreprise et assurer le fonctionnement du service des ventes, a été poursuivi.

- Une version préliminaire du framework XR# a été proposée pour utiliser .NET et XAML dans le développement d'applications 3D et de systèmes de réalité augmentée ou virtuelle.
- Le système d'animation a été repensé, intégrant des outils pour travailler avec l'animation, initialement proposés dans Silverlight.
- Dans l'élément d'interface UIElement.Clip, la possibilité d'utiliser n'importe quel objet géométrique a été implémentée.
- Des optimisations de performance ont été réalisées.
Les plans futurs mentionnent la fourniture d'un environnement de conception visuelle permettant de créer des interfaces XAML en mode WYSIWYG, le support de fonctionnalités supplémentaires de WPF, le support de la fonctionnalité « Hot Reload » dans XAML (application des modifications de code à l'application en cours d'exécution), le support de LightSwitch, l'amélioration de l'intégration avec l'éditeur de code VS Code, l'intégration avec le framework .NET MAUI (Multi-platform App UI) pour la création d'applications hybrides utilisant l'API native de la plateforme.
Source : opennet.ru

