Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Chroniqueur Actualités

    Lancement d'OpenSilver : une réimplémentation open source de Silverlight qui fonctionne sur les navigateurs
    Lancement d'OpenSilver : une réimplémentation open source de Silverlight qui fonctionne sur les navigateurs actuels via WebAssembly,
    Sans nécessiter de plugins

    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é
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre averti
    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)
    Je suis pas loin de penser la même chose mais faut bien avouer que le système de plugin est d'un autre âge (Quoique maintenant, avec les dizaines d'extensions qu'on ajoute à notre navigateur fétiche, c'est pas forcément mieux)
    En tout cas le projet m'intéresse et je vais suivre ça de près

  3. #3
    Membre à l'essai
    J’ai testé. Sur mon Firefox, la page est très lourde à se charger, et il y a du lag lors de l’interaction avec les éléments de l’interface ; presque inutilisable. Cependant, ils promettent une amélioration de performance de 30 fois, alors wait and see.
    Cela dit, j’aime bien l’idée. Projet à suivre.

  4. #4
    Expert confirmé
    Citation Envoyé par Stan Adkens Voir le message
    « 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).
    C’était vrai à l'époque, aujourd'hui pas forcément mais on a bien perdu 6-8 ans pour en arriver au même niveau.

    Allez-vous continuer à utiliser le remplaçant open source ?
    En l'état c'est inutilisable (un peu comme les démo JS pour gérer la 3D ) mais j'imagine que leurs promesses de performance sont en partie vrai.

  5. #5
    Membre éprouvé
    "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)."

    So true. Je reste d'avis que je n'ai toujours pas égalé ma productivité de l'époque Silverlight alors que j'ai désormais 6 années d'expériences en plus.
    A cette époque, Blend était surpuissant (aujourd'hui de nombreuses fonctionnalités n'existent plus comme l'importation d'image et conversion en XAML, etc).

    Silverlight m'a fait aimer .NET et le XAML. Le mode Out Of Browser était génial, le tout en vectoriel donc responsive et adaptative design plus simple à mettre en oeuvre.
    Il y avait des manquements mais dans l'ensemble, la techno était absolument génial. Lors de son abandon, j'ai faillit me reconvertir sur du Java... Tellement j'étais dég. Heureusement, je n'ai pas fait cette erreur

    Comme dit Micka132, on a bien perdu 6-8 ans pour en arriver au même niveau avec des technos alternatives. Tellement triste.
    http://krossapp.com

    "S'adapter, c'est vaincre !"

  6. #6
    Membre habitué
    Tout à fait d'accord.
    Il y a près de 15 ans on a développé une très grosse appli en SL qui tourne toujours. C'était vraiment puissant, on n'a pas trouvé d'équivalent. J'ai eu envie de pleurer qd j'ai appris la mort de SL.
    Cette solution arrive un peu tard et aurait du venir de MS lui-même. Il nous a laissé tomber comme des vieilles chaussettes.
    Il y a 1 an et demie on a fait le choix de réécrire en Blazor. On a testé plein de technos, toutes nous auraient demandé 10 ans de boulot avec des risques de régression et pleins de bugs.
    Hormis les vues qu'on a du entièrement refaire, on a pu récupérer tout le reste avec un minimum de modifs. Bindings, modèles, viewModels, Evénements, ... en un an on a fait 90% du boulot et çà tourne plus vite qu'avant.
    Je regrette SL qui était plus abordable et XAML vraiment chouette, mais Blazor c'est vraiment du lourd et MS semble avoir vraiment changé de philosophie.
    Manque juste ce qu'on pouvait faire en OOB avec des droits élevés qui est à ce jour vraiment très compliqué : ouvrir un fichier Word, surveiller sa fermeture, communiquer avec un périphérique local...
    J'espère que MS nous ajoutera ça bientôt.
    SL est mort, vive Blazor.
    Je n'arrive pas trop à comprendre la motivation de cette société mais ça pourra peut-être aider ceux qui n'ont pas encore entrepris leur migration après SL.
    J'aurais tellement aimé lire cet article il y a qq années !