Alors que Silverlight, une technologie qui permet le développement d’applications Web riches (RIA) dans un moteur de rendu vectoriel, ne sera plus supporté à partir de l’année prochaine, Userware, une société de logiciels fondée par deux experts en technologies Microsoft, a annoncé lundi la sortie d'OpenSilver, une réimplémentation open source de Silverlight qui fonctionne sur tous les navigateurs via WebAssembly, qui vient à la rescousse. Microsoft Silverlight nécessite l'installation d'un plugin par les utilisateurs. Mais la plupart des navigateurs ont cessé de prendre en charge les plugins et Microsoft a annoncé qu'il pourrait cesser de prendre en charge Silverlight après 2021.
Dans un communiqué de presse de Userware, Giovanni Albani, PDG de la société, a déclaré : « Depuis que la plupart des navigateurs ont cessé de prendre en charge les plugins tels que Microsoft Silverlight, les développeurs .NET se sont retrouvés sans moyen de créer des applications riches côté client qui s'exécutent dans le navigateur ». « Mais avec l'avènement de WebAssembly - une norme ouverte qui est maintenant prise en charge par la plupart des navigateurs de bureau et mobiles - ce n'est plus le cas ».
Selon le communiqué de la société, OpenSilver est une réimplémentation moderne, sans plugin et à code source ouvert de Silverlight, qui fonctionne sur les navigateurs actuels via WebAssembly. Il utilise Mono pour WebAssembly et Microsoft Blazor, et redonne au développement Web côté client la puissance de C#, XAML et .NET. « Lorsqu'il s'agit de développer des applications Internet riches (RIA) ou des applications Web monopage (SPA), Silverlight offre un niveau de productivité et de puissance qui est resté inégalé depuis », a expliqué le PDG de la société.
L’équipe derrière OpenSilver est composée de développeurs .NET qui estiment que Silverlight était la meilleure plateforme jamais créée pour le développement d'applications RIA pour les entreprises. Spécialisée dans les technologies Microsoft et les outils de développement, elle est également à l'origine de CSHTML5, une extension de Visual Studio capable de compiler du code C# et XAML en HTML et JavaScript. Userware dit avoir exploité sa base de code CSHTML5 pour fournir rapidement OpenSilver, en remplaçant JavaScript par WebAssembly pour une exécution native et une meilleure compatibilité avec .NET.
Compatibilité d’OpenSilver et des applications OpenSilver
Selon le communiqué de presse, OpenSilver fonctionne sur les navigateurs web de bureau et mobiles. Il est compatible avec la norme .NET, de sorte que le code peut être partagé entre le client, le serveur et d'autres plateformes. Il est également compatible avec JavaScript, de sorte que les bibliothèques JavaScript existantes peuvent être directement importées et utilisées à partir de C#.
Les applications OpenSilver sont compatibles avec tous les navigateurs qui supportent WebAssembly, ce qui inclut les principaux navigateurs (Edge, Chrome, Firefox, Safari...), sur toutes les principales plateformes (Windows, macOS, iOS, Android, Linux, ChromeOS...), sans que les utilisateurs aient besoin d'installer un plugin, d’après Userware. Quant aux applications Silverlight existantes, elles doivent être recompilées avec OpenSilver pour pouvoir fonctionner sur ces navigateurs.
« Nous sommes des développeurs .NET qui pensent que Silverlight était la meilleure plateforme jamais conçue pour le développement d'applications de secteur d’activité (LOB). Nous sommes tristes de voir Silverlight disparaître en raison du manque de prise en charge des plugins dans les navigateurs modernes. Nous voulons donc la sauver en la réimplémentant à l'aide de technologies modernes, ouvertes et basées sur des normes. Nous voulons le rendre encore plus génial qu'avant, afin que les développeurs aient les outils pour construire des produits étonnants qui peuvent changer le monde », telle est la vision exprimée par l’équipe.
Migration d’une application Silverlight existante vers OpenSilver
En plus d’être utilisé pour créer de nouvelles applications, OpenSilver peut également servir d'outil de migration pour moderniser les applications Silverlight existantes. Pour migrer une application Silverlight existante, a expliqué Userware, il suffit de recompiler son code source à l'aide d'OpenSilver. Cela se fait avec l'extension OpenSilver qu’il faudra télécharger et installer. Ensuite, vous devez créer un nouveau projet de type "OpenSilver", copiez/collez votre code Silverlight dans ce nouveau projet, et le compilez.
Selon le communiqué de presse, la migration du code Silverlight vers OpenSilver offre de multiples avantages, dont la réduction des coûts. D’après Userware, il peut être 3 à 5 fois moins cher de migrer une application Silverlight vers OpenSilver que de la réécrire à partir de zéro en utilisant une autre technologie. En outre, les développeurs n'ont pas besoin d'apprendre un nouveau langage de programmation, et qu'ils peuvent réutiliser la majeure partie du code original. Cela implique moins de risques de bogues fonctionnels, une plus grande efficacité pour maintenir l'application après la migration, moins de temps passé à écrire les spécifications fonctionnelles et techniques, et la possibilité de continuer à coder pendant le projet de migration.
Néanmoins, d’après l’équipe, des erreurs de compilation sont à prévoir au départ, car certaines fonctionnalités ne sont pas prises en charge, « mais vous pouvez contourner ces limitations, par exemple en important une bibliothèque .NET Standard ou une bibliothèque JavaScript. Une fois compilée, votre application fonctionnera sur tous les navigateurs sans que les utilisateurs aient besoin d'installer un plugin », a écrit Userware.
Userware a également annoncé un service de migration qui prend en charge les migrations du début à la fin. « Notre équipe a déjà commencé à migrer des applications avec des centaines de milliers de lignes de code », explique M. Albani. « Nous voulons éviter aux entreprises les tracas, les risques et les coûts liés à la réécriture de tout à partir de zéro ».
Userware a également mis en ligne un exemple d’application entièrement écrite en C# et XAML, et compilée en WebAssembly à l'aide d'OpenSilver pour vous permettre de faire des tests en direct. Userware dit qu’elle contient des exemples et des extraits de code que vous pouvez réutiliser pour créer vos propres applications.
Un clic, par exemple, sur le menu Panels & Controls dans la liste de menu à gauche, et l’application s’exécute lentement, les cadres se chargeant un à un dans la partie centrale de l’application. C’est aussi l’avis de plusieurs commentateurs qui ont testé l’application test : « Wow. J'ai cliqué sur "Panels & Controls" et les tuiles arrivent à une ou deux par seconde », a écrit l’un des commentateurs. Toutefois, dans une barre rouge en haut de l’écran, une note indique que « Les performances seront au moins 30 fois supérieures lorsque la compilation AOT sera disponible plus tard en 2020 ».
Un autre clic sur "Voir la source" de Grid, la première tuile, et le code source apparait en dessous comme ci-dessous :
Feuille de route 2020 et disponibilité
La version Preview technologique actuelle d’OpenSilver prend en charge environ 60 % de l'API Silverlight et couvre la plupart des fonctionnalités utilisées dans les applications typiques, a écrit Userware. La société dit que les fonctionnalités attendues en 2020 comprennent la prise en charge des services Open RIA et l'interface utilisateur de Telerik pour Silverlight, mais elle indique qu’une licence de Tekerik sera nécessaire.
OpenSilver sera également mis à jour en synchronisation avec les derniers projets Blazor et Mono for WebAssembly. La lenteur remarquée sur l’application de test ne devrait plus être un problème au cours de cette année. Userwave note également que l'une des principales améliorations de l'équipe Mono for WebAssembly prévue pour 2020 « sera le support de la compilation AOT (Ahead-of-Time) qui, selon nos tests, accélérera les performances d'au moins 30 fois ».
Sources : OpenSilver, Exemple d’application
Et vous ?
Qu’en pensez-vous ?
Quelles sont les capacités d’OpenSilver qui retiennent votre attention ?
Avez-vous utilisé Sliverligth ? Allez-vous continuer à utiliser le remplaçant open source ?
Lire aussi
Microsoft encourage l'abandon de Silverlight pour HTML5
Silverlight 5 disponible en version finale, supportée jusqu'en 2021, la dernière version majeure ?
Silverlight 5 disponible en RC, avec plus de 40 nouvelles fonctionnalités dont le support de l'impression vectorielle et des systèmes 64 bits
Les contrôles Flash, Shockwave et Silverlight seront bloqués dans les applications Office 365, par mesure de sécurité
Lancement d'OpenSilver : une réimplémentation open-source de Silverlight qui fonctionne sur les navigateurs actuels via WebAssembly,
Sans nécessiter de plugins
Lancement d'OpenSilver : une réimplémentation open-source de Silverlight qui fonctionne sur les navigateurs actuels via WebAssembly,
Sans nécessiter de plugins
Le , par Stan Adkens
Une erreur dans cette actualité ? Signalez-nous-la !