Qu'est-ce que Blazor?
Blazor (Browser + Razor) est un nouveau framework Web publié par Microsoft. Il vous permet de créer des applications basées sur un navigateur en utilisant la syntaxe C # et Razor en plus de HTML et CSS.
Auparavant, toute personne utilisant Razor devait lancer des vues Razor sur le serveur, générant ainsi du HTML qui pouvait être rendu par le navigateur. Désormais, les vues Razor peuvent être exécutées côté client.
Comme Blazor utilise WebAssembly , nous n'avons pas besoin d'installer de plug-ins ou d'addons tiers dans le navigateur pour exécuter le code correspondant. En conséquence, il s'avère qu'en utilisant Blazor, vous pouvez créer des parties client et serveur de votre application en C #. La possibilité de partager du code et des bibliothèques sur le client et sur le serveur facilite grandement la vie d'un développeur.
Voici un exemple de code utilisé dans Blazor.
Code Blazor
Pourquoi y a-t-il autant de buzz autour de Blazor?
Blazor a acquis une popularité considérable en assez peu de temps. Ils ont commencé à le comparer avec les frameworks JavaScript populaires. On parle beaucoup sur Internet de l'avenir du développement Web côté client, et Blazor est également mentionné dans ces conversations. Tout cela ne fait qu'ajouter à sa popularité. Je propose d'en comprendre les raisons et d'expliquer pourquoi autant d'attention est portée à Blazor.
Comme je l'ai déjà dit, la principale force de Blazor est sa capacité à développer des applications basées sur un navigateur en C #. Ces dernières années, JavaScript (ou TypeScript) a été le langage principal pour le développement d'applications Web côté client. Autrement dit, si quelqu'un est un programmeur .NET, afin de développer des applications full-stack pour le Web, il doit apprendre JavaScript. Et avec Blazor, vous pouvez écrire des applications Web frontales et principales en C #. Pour moi personnellement, c'est la principale force de Blazor.
Le code écrit pour Blazor, contrairement au code JavaScript, est précompilé dans un format intermédiaire avant d'atteindre le navigateur. Cette fonctionnalité nous offre des fonctionnalités intéressantes lors du développement d'applications de navigateur gourmandes en performances. De plus, les applications Blazor conviennent à la résolution de tâches gourmandes en ressources sur le client. Par exemple - pour créer des fichiers PDF ou pour faire fonctionner les algorithmes de jeu.
Mais à part ce qui précède, Blazor a d'autres fonctionnalités intéressantes:
- Vous n'avez pas besoin de plugins de navigateur pour faire fonctionner Blazor.
- Lors du développement pour Blazor, vous pouvez déboguer entièrement votre code .NET.
- Le framework tire parti des dernières fonctionnalités du navigateur.
- Blazor maintient un modèle de développement d'interface convivial.
- Le framework a un bon support de navigateur.
- Blazor prend en charge l'injection de dépendances.
- L'utilisation de Blazor vous permet de partager du code entre les parties client et serveur de vos applications.
Comparaison des outils JavaScript et Blazor
Et maintenant, nous sommes arrivés à la partie très principale de cet article. Cherchons une réponse à la question de savoir si Blazor peut remplacer les bibliothèques et les frameworks écrits en JavaScript. JavaScript peut-il tenir bon? Peut-être que toute personne intéressée par l'état actuel du développement du front-end aimerait connaître les réponses à ces questions. Je pense qu'il est trop tôt pour tirer des conclusions définitives, voire faire des hypothèses à ce sujet. Mais pour nous rapprocher de la vérité, nous pouvons comparer plusieurs bibliothèques et frameworks JavaScript de premier plan à Blazor.
▍ Comparaison Blazor vs React
React est considéré par beaucoup comme la meilleure bibliothèque pour le développement de composants Web. S'il est difficile de comparer React et Blazor, nous devons admettre que React est une bibliothèque soigneusement conçue qui a fait ses preuves pour développer de vrais projets. Une puissante communauté de programmeurs s'est formée autour de React.
L'écosystème React regorge de bibliothèques et de frameworks qui facilitent le développement d'applications React optimisées. Ces bibliothèques et frameworks font de React un «langage universel» qui peut être utilisé pour créer des applications pour le Web, pour la ligne de commande , pour iOS et Android , et pour le bureau .
Blazor est relativement nouveau par rapport à React. Mais n'oubliez pas que Blazor a un solide système de rasoir derrière lui. Par conséquent, nous ne pouvons pas dire que Blazor est quelque chose de complètement inconnu des programmeurs. De plus, étant donné que Blazor utilise C #, il est plus facile et plus rapide pour les développeurs .NET d'apprendre ce framework. Bien que React se soit amélioré au fil du temps, il offre de nombreuses opportunités aux développeurs, et bien que React ait de nombreux atouts, Blazor, malgré son très jeune âge, a également quelque chose de remarquable:
- Les projets Blazor, comme les projets React, peuvent être déployés en tant que fichiers statiques.
- Vous pouvez utiliser des packages NuGet dans les applications Blazor.
- Lorsque vous utilisez Blazor sur le client et sur le serveur, vous pouvez utiliser le même code (bien sûr, cela est également vrai lors de l'utilisation de JS / TS).
- Blazor a des mécanismes de routage intégrés, pour valider l'entrée utilisateur, pour le traitement des formulaires.
Ce n'est qu'une petite sélection des capacités de Blazor. Mais, si vous vous concentrez sur la situation actuelle, nous pouvons dire que si une certaine équipe utilise JavaScript en toute confiance, elle doit absolument utiliser React. D'autre part, Blazor est une excellente option pour quelqu'un qui maîtrise mieux .NET que JavaScript lors du démarrage d'un nouveau projet Web.
▍ Comparaison Blazor vs Angular
Le framework JavaScript Angular est également populaire pour le développement d'applications monopages. Si vous le comparez à la bibliothèque React, il s'avère qu'il comprend plus de fonctionnalités standard. Angular fournit une architecture MVC au développeur d'applications client afin de simplifier le processus de création et de test de projets. Si vous comparez Angular et Blazor, il s'avère qu'Angular a une place solide dans le développement frontal en tant que cadre bien connu et stable adapté à la création d'applications réelles. De plus, Angular prend entièrement en charge les applications Web progressives, tandis que les mécanismes côté serveur de Blazor n'ont pas encore évolué dans cette direction. De plus, comme Angular utilise TypeScript, ce framework est plus proche et plus compréhensible pour les programmeurs C # que les frameworks et bibliothèques JavaScript.Compte tenu de toutes les forces d'Angular, je ne vois aucune raison pour quelqu'un ayant une bonne connaissance de TypeScript de choisir Blazor.
Résultat
Blazor est certainement un projet intéressant qui, malgré le fait qu'il soit apparu relativement récemment, mérite une certaine attention. Et la question de savoir s'il peut remplacer les outils JavaScript dans le développement frontal est toujours ouverte.
Avez-vous essayé Blazor?