La version 3.2 du projet OpenSilver a été présentée, poursuivant le développement de la plateforme Silverlight et permettant de créer des applications web interactives en utilisant les technologies C#, F#, XAML et .NET. Les applications Silverlight compilées avec OpenSilver peuvent fonctionner dans n'importe quel navigateur de bureau ou mobile prenant en charge WebAssembly. Pour le développement, l'environnement Visual Studio et l'éditeur de code VS Code, qui prennent en charge Windows, macOS et Linux, peuvent être utilisés. Le code du projet est écrit en C# et distribué sous licence MIT.
À l'origine, le projet OpenSilver visait à fournir des outils pour prolonger la vie des applications Silverlight existantes, après que Microsoft a arrêté le développement et le support de la plateforme Silverlight en 2021, ainsi que le soutien aux plugins associés dans les navigateurs. OpenSilver prend en charge toutes les fonctionnalités principales du moteur Silverlight, y compris le support complet des langages C# et XAML, ainsi qu'une mise en œuvre de la plupart des API de la plateforme, suffisante pour utiliser des bibliothèques C# telles que Telerik UI, WCF RIA Services, PRISM et MEF.
Dans sa forme actuelle, OpenSilver a dépassé le cadre d'une couche pour prolonger la vie de Silverlight et peut être considéré comme une plateforme autonome pour créer de nouvelles applications. Par exemple, le projet développe un environnement de développement, assure la prise en charge des nouvelles versions du langage C# et de la plateforme .NET, et fournit une compatibilité avec les bibliothèques 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.
Dans la nouvelle version :
- Le support du déploiement d'applications basées sur le framework WPF (Windows Presentation Foundation) a été ajouté pour iOS, Android, Windows, macOS, Linux et les navigateurs web, en utilisant une base de code commune en XAML/C#. Le support des plateformes mobiles est réalisé via l'intégration de l'outil .NET MAUI Hybrid, permettant d'utiliser WebView pour afficher l'interface lors de la compilation de la logique métier en code natif. Pour accéder aux API des plateformes mobiles, le framework MAUI peut être utilisé.

- La compatibilité avec le framework WPF (Windows Presentation Foundation) a été améliorée : prise en charge de l'orientation du texte de droite à gauche (RTL), propagation des événements dans la hiérarchie des éléments, animation avancée, API VirtualizingStackPanel et défilement fluide sur les écrans tactiles.
- Des outils ont été fournis pour migrer les bases de code existantes et les adapter aux capacités de WPF spécifiques à OpenSilver.
- Amélioration de l'intégration avec l'environnement de développement Visual Studio et l'éditeur de code VS Code. Les extensions compatibles avec OpenSilver sont disponibles dans les répertoires d'extensions par défaut de Visual Studio et VS Code.

- Ajout d'une nouvelle application ToDoCalendar avec un exemple d'implémentation d'un calendrier-organisation, compilable pour différents types d'appareils. L'application de démonstration Showcase a été étendue avec des fonctionnalités d'intégration pour les plateformes mobiles, permettant d'accéder à l'API pour gérer les capteurs, l'orientation, le vibreur et les notifications, ainsi que pour la géolocalisation et l'accès aux fichiers.

Source : opennet.ru



