Blazor : pourquoi utiliser ce framework développé par Microsoft ?

Qu’est-ce que Blazor ?

Pour commencer, Blazor est un framework web open source proposé par Microsoft depuis 2018 permettant de développer des applications web SPA (Single Page Application) où le C# et le Razor viennent remplacer le Javascript. Pour faire très simple, cette technologie vous permet de coder votre application entièrement en C# en se passant d’une technologie supplémentaire comme Angular pour votre front.

Bien entendu, le Javascript est toujours utilisable et vous sera utile dans certaines situations cependant il restera le langage « secondaire » de votre application.

Deux versions de Blazor

En fonction de votre besoin et de la direction que vous allez prendre pour l’architecture de votre application, Blazor vous offre deux possibilités :

  • La première est Blazor Server basé sur SignalR. Cette version de Blazor transforme votre application en un client léger / serveur lourd en exécutant tout le code côté serveur. Cet environnement possède des avantages et des inconvénients.
    • Côté avantage, l’exécution côté serveur facilite grandement le développement par exemple pour appeler directement votre Database Context.
    • Côté désavantage, il est indispensable d’avoir une connexion constante à votre serveur pour que votre application puisse fonctionner (pas de mode hors-ligne).
  • La seconde version est Blazor WebAssembly qui est l’exact opposé de Blazor Server. Dans cette version, tout se passe côté client puisque le code (toujours en C#) est directement exécuté dans le navigateur de client grâce à WebAssembly.
    • Côté avantage, le traitement est déchargé du serveur vers le client et il n’est pas nécessaire qu’un serveur ASP .NET Core soit mis en place pour héberger l’application.
    • Côté désavantage, on note les problèmes de comptabilités des navigateurs avec WebAssembly. Aussi, le chargement d’une telle application nécessite plus de temps au vu de la taille du téléchargement de l’application qui est plus importante que pour un Blazor Server.

Réutilisation du code

L’un des gros points forts de Blazor (tout court) est de pouvoir partager le code du backend (serveur) et du frontend (client) au sein de votre application. Grâce à cela, vous pouvez réutiliser votre code sans devoir traduire systématiquement vos objets pour que votre front puisse comprendre ce que vous lui envoyez.

La réutilisation du code engendre un gain de productivité. Le fait de pouvoir travailler avec un seul langage de programmation permet de gagner du temps de formation, de développement et de monter en compétence sur une technologie que vous maitrisez déjà (ou pas).

D’un point de vue strictement personnel, je préfère axer ma montée en compétence sur des technologies que je maitrise déjà plutôt que de faire de la veille technologique dans l’unique but de faire de la veille. De nouveaux langages voient sans cesse le jour dans un monde technologique en perpétuel évolution. Toutefois, il est tout aussi important de monter en compétence sur des technologies que l’on maitrise déjà car leurs évolutions sont toutes aussi notables.

Conclusion

Pour conclure, Blazor a de l’avenir et ce framework bouscule progressivement la manière de développer des applications web. Pour autant, peut-on supposer que le terme de « développeur full-stack » disparaitra un jour au profit d’une seule techno pour développer nos futures applications ? Ceci est moins sûr. Jusqu’à ce jour, Microsoft a décidé de maintenir et de faire évoluer sa technologie. On peut noter que le fait que Microsoft possède une très grande communauté rend optimiste les chances de maintien et d’évolution de ce framework. Pour autant, cela reste encore un pari douteux pour les entreprises qui attendent que cette technologie gagne en maturité.

Tom. L – Ingénieur Logiciel .NET