Accueil > Blog > Conseils, Emploi & Tech > Blazor vs React : Quel framework choisir ?
Jusqu’à récemment, les développeurs C# utilisaient JavaScript, le langage de programmation le plus populaire actuellement pour écrire du code pour les navigateurs. Mais le monde du développement Web a évolué rapidement et les développeurs ne doivent plus dépendre de JavaScript pour le développement d’applications Web haut de gamme. Si tu as déjà pensé à exécuter .NET dans le navigateur sans add-ons ni plugins, Blazor en fait une réalité grâce à une technologie appelée WebAssembly.
Blazor est un nouveau framework Web de Microsoft qui permet aux développeurs d’écrire du code pour les navigateurs en C#. Blazor est basé sur des technologies web existantes comme HTML et CSS mais permet au développeur d’utiliser C# et la syntaxe Razor au lieu de JavaScript. Razor est une syntaxe de balisage de modèle populaire pour .NET. Blazor (Browser + Razor) permet aux développeurs de créer une interface utilisateur Web interactive et réutilisable pour les applications côté client écrites en .NET et mises en œuvre sous WebAssembly. Le code client et le code serveur étant tous deux écrits en C#, il est possible de partager le code et les bibliothèques, ce qui fournit une plate-forme permettant de développer des applications monopages (SPA) dynamiques et contemporaines tout en utilisant .NET de bout en bout.
L’aspect le plus remarquable de cette nouvelle technologie est le fait qu’elle exploite les dernières normes Web et ne nécessite pas de plugins ou de modules complémentaires pour fonctionner, ce qui est rendu possible par WebAssembly.
WebAssembly, souvent abrégé en Wasm, est une nouvelle norme qui peut être exécutée dans les navigateurs Web modernes et qui apporte une diversité de langages à la plateforme Web. Wasm est un langage de type assembleur de bas niveau présentant un format binaire compact qui permet d’exécuter sur le Web du code écrit dans plusieurs langages tels que C/C++, Java et Rust, avec des performances quasi-natives.
L’objectif de WebAssembly est de faciliter les applications à haute performance sur les pages Web. Toutefois, son format est conçu pour l’exécution et l’intégration dans d’autres environnements et peut également fonctionner avec JavaScript.
Voici quelques caractéristiques de Blazor :
Angular, le successeur d’AngularJS, a été créé par Google pour permettre aux développeurs front-end d’interagir avec le front-end et le back-end en même temps. Comme Angular est basé sur JavaScript, il y a beaucoup de ressources avec lesquelles travailler.
Il existe un énorme référentiel de paquets open-source disponibles pour les développeurs Angular, notamment :
Angular existe depuis longtemps, contrairement à Blazor. Il s’agit d’un framework prêt à l’emploi avec un support complet pour les applications MVC/MVVM et il est utilisé par de nombreuses grandes entreprises. Blazor, quant à lui, est en constante évolution et n’a pas encore atteint une maturité suffisante pour rivaliser avec Angular, bien qu’il soit très prometteur.
Angular prend en charge les applications Web progressives (PWA), tandis que Blazor côté serveur ne peut catégoriquement pas fonctionner comme une PWA. L’outillage d’Angular est plus mature, avec une prise en charge complète du débogage dans des IDE comme VS Code.
Angular est également extrêmement populaire. Il existe beaucoup plus de contenu sous forme de cours, de livres, de blogs, de vidéos et d’autres supports pour Angular. Angular dispose d’événements techniques dédiés organisés dans le monde entier, d’une énorme communauté et offre une grande sélection d’intégrations tierces.
Angular offre un temps de chargement plus rapide et une sécurité accrue en utilisant un concept appelé « compilateur en avance sur le temps (AOT) ». AOT convertit le code HTML et TypeScript Angular en code JavaScript efficace pendant la phase de construction, avant que le navigateur ne télécharge et n’exécute ce code. La compilation de l’application pendant le processus de construction permet un rendu plus rapide dans le navigateur.
Angular permet également l’utilisation de styles scopés, dans lesquels on peut appliquer un style CSS spécifiquement pour un composant associé.
Grâce aux éléments et modules Angular, ce framework est conçu pour être entièrement personnalisable, ce qui donne plus de pouvoir au développeur et au concepteur. Angular prend en charge des fonctionnalités telles que le chargement paresseux, la norme d’internationalisation I18n pour prendre en charge les langues locales et les paramètres culturels, ainsi que les applications mobiles multiplateformes Ionic pour iOS et Android.
Blazor est étroitement intégré à .NET. La chose la plus importante à observer ici est la possibilité d’atteindre ce que Angular.js peut offrir en utilisant C#. Les développeurs qui préfèrent JavaScript pour le développement Web devraient utiliser Angular.
De plus, il y a un fait à considérer ici, les frameworks JS ont beaucoup évolué depuis leur avènement. Mais Blazor n’est pas encore totalement pris en charge et ne dispose pas des fonctionnalités que les bibliothèques JS peuvent fournir.
Date de publication : 28 avril 2021