Developpez.com

Le Club des Développeurs et IT Pro

Microsoft lance un nouveau projet expérimental baptisé Blazor

Qui simplifie la création d'applications web monopages avec .NET

Le 2018-02-06 23:05:20, par François DORIN, Expert éminent sénior
Microsoft travaille depuis plusieurs mois sur un nouveau projet dont le but est d'offrir aux programmeurs un framework web basé sur l'utilisation de C#, Razor et HTML s'exécutant directement au sein du navigateur. Navigateur (browser en anglais) + Razor = Blazor !

Les espérances sont fortes, puisque Blazor permettrait de développer des applications web monopages (single-page application) avec des performances très proches d'applications natives, grâce à l'usage de la technologie WebAssembly. Pour rappel, la technologie WebAssembly est supportée par tous les navigateurs récents. Si cette technologie n'est pas supportée (cas de navigateurs plus anciens), alors l'application tournera grâce à un environnement d'exécution .NET écrit pour asm.js, non sans un impact sur les performances.

Blazor inclut toutes les caractéristiques d'un framework web moderne :
  • un modèle de composant pour construire des interfaces composables ;
  • le routage ;
  • la mise en page ;
  • les formulaires ainsi que leur validation ;
  • l'injection de dépendance ;
  • l'interopérabilité avec le JavaScript ;
  • le rechargement à chaud durant le développement ;
  • le rendu côté serveur ;
  • le débogage à la fois dans le navigateur et dans l'IDE ;
  • le support d'IntelliSense et de différents outils ;
  • le support de vieux navigateurs via asm.js ;
  • la publication et la diminution de la taille des applications.

Il est possible d'avoir un aperçu de cette technologie en visionnant cette présentation où Steve Sanderson nous fait une petite démonstration :


Ce projet vient de s'ouvrir au grand public et est disponible sur GitHub. Attention toutefois, ce projet est encore au stade expérimental. L'objectif de cette ouverture est d'étendre l'expérimentation afin d'obtenir des retours et des suggestions de la part des utilisateurs, et non pour un usage en production. Si cette phase se révèle concluante, c'est-à-dire que les retours sont positifs et que tous les verrous techniques sont levés, il est fort probable que ce projet perdra son caractère expérimental pour permettre usage plus large.

Source : Blog Microsoft

Et vous ?

Que pensez-vous de ce projet ?
Quelle(s) technologie(s) utilisez-vous pour développer vos applications monopages ?
  Discussion forum
20 commentaires
  • Aspartame
    Membre confirmé
    j'aurai préféré un autre nom ...

    • SilverNight
    • SilverFight
    • SilverRight
  • redcurve
    Membre extrêmement actif
    Envoyé par jpouly
    Acte 1 : Sun crée Java. Avec les applets, permettant de faire tourner des applications java sur un navigateur.

    Acte 2 : Microsoft se dit : He, c'est pas mal tout ça. Vais faire ma propre JVM pour mon propre navigateur.

    Acte 3 : Sun grogne. Microsoft crée .NET

    Acte 4 : Adobe Flash a repris le flambeau. Microsoft se dit : He c'est pas mal tout ça. Un peu échaudé quelques années auparavant, il crée Silverlight, pour pas se faire taper sur les doigts.

    Acte 5 : Flash est "presque" mort, Silverlight est mort né, snifff.

    Acte 6 : Microsoft revient à sa première idée : Faire des applets, mais en .NET, cette fois-ci.

    Moral de l'histoire : le recyclage n'est pas qu'une affaire d'écologistes


    Tu racontes nawak, il s'agit juste de webassembly le code C# n'est jamais exécuté.
  • jolt-counter
    Membre régulier
    Envoyé par jpouly
    Acte 1 : Sun crée Java. Avec les applets, permettant de faire tourner des applications java sur un navigateur.

    Acte 2 : Microsoft se dit : He, c'est pas mal tout ça. Vais faire ma propre JVM pour mon propre navigateur.

    Acte 3 : Sun grogne. Microsoft crée .NET

    Acte 4 : Adobe Flash a repris le flambeau. Microsoft se dit : He c'est pas mal tout ça. Un peu échaudé quelques années auparavant, il crée Silverlight, pour pas se faire taper sur les doigts.

    Acte 5 : Flash est "presque" mort, Silverlight est mort né, snifff.

    Acte 6 : Microsoft revient à sa première idée : Faire des applets, mais en .NET, cette fois-ci.

    Moral de l'histoire : le recyclage n'est pas qu'une affaire d'écologistes
    Il y a une différence majeur dans le cas de Blazor.
    Comme cité plus haut Blazor compile vers le langage WebAssembly ou JavaScript avec asm.js si le navigateur web ne supporte pas WebAssembly.
    Contrairement à Flash, aux Applets Java et à Silverlight, il n'y a aucun plugin à installer sur son navigateur web.

    C'est justement l'un des but de WebAssembly, offrir de manière natif dans le navigateur web un moyen d’exécuter un langage ouvert, standardisé et de bas niveau vers lequel un langage de haut niveau peut compiler, tout comme les langages HTML, CSS et JavaScript offrent la possibilité de créer des sites web de manières standardisées sur la majorité des navigateurs web.
    Du coup le développeur pourra utiliser un langage de son choix (JavaScript, C#, Python, C++, Rust, ...) au lieu d'uniquement le JavaScript pour dynamiser son site web côté client.

    On évite les écueils de Flash, Applet Java et Silverlight car ici il n'y a pas de plugin à installer ou à mettre à jour avec les risques de sécurité liés à leur utilisation.

    Je trouve Blazor très intéressant surtout si on veut faire un site web 100% C# côté client et serveur avec Blazor + Asp.net Core.

    Je rajoute que contrairement à Silverlight, Blazor semble open source, multiplateforme, gratuit et plus léger et plus simple à déployer. (dotnet core + la ligne de commande suffise).
  • François DORIN
    Expert éminent sénior
    Envoyé par jpouly
    Pour le cotés open source, quand je vois la liste des contributeurs (Microsoft, Apple, Google, Mozilla et W3C), je reste septique.
    Enlève Apple, et tu as pourtant une liste d'entreprises faisant parti des plus grands contributeurs à l'open-source en général. Bon, sauf le W3C, qui est plutôt orienté standardisation qu'open-source à proprement parler...
  • Gugelhupf
    Modérateur
    Serait-ce le début de la fin pour le JavaScript avec WebAssembly ? (troll )
  • Namica
    Membre expérimenté
    Application web monopage ? Bof bof...
  • tmcuh
    Membre habitué
    genre tu viens de finir un projet de 2 ans en Javascript et on t'affiche ça et tu te dis, pfff j'ai plus qu'à recommencer ... j'adore le développement web (autant que le c++ je crois )
  • youtpout978
    Expert confirmé
    Tu peux continuer à maintenir ton application t'es pas obligé de l'adapter à chaque nouveau framework qui sort, par contre pour tes futurs développement tu peux y penser.
  • François DORIN
    Expert éminent sénior
    Envoyé par tmcuh
    genre tu viens de finir un projet de 2 ans en Javascript et on t'affiche ça et tu te dis, pfff j'ai plus qu'à recommencer ...
    Il faut quand même attendre que le projet mûrisse un peu. Ce serait dommage de devoir tout reprendre si le projet s'arrête

    Mais effectivement, ce projet me semble prometteur et il est intéressant de garder un oeil dessus...
  • Dhafer1
    Membre habitué
    Existe t'il des projets similaires sous python ?