Je partage mes conseils sur quand utiliser Blazor et quand utiliser l’un des frameworks Web JavaScript.
J’utilise Blazor depuis le tout premier instant. Cela fait presque cinq ans que je l’ai essayé pour la première fois. Pendant ce temps, j’ai implémenté des applications Web Blazor petites, plus grandes, internes et orientées client pour différents cas d’utilisation.
Dans cet article, je souhaite partager mes conseils sur quand utiliser Blazor et quand utiliser l’un des frameworks Web JavaScript pour vous aider à décider de votre prochain projet Web.
Il existe également d’autres solutions, notamment, mais sans s’y limiter, des frameworks basés sur PHP. Cependant, je m’en tiens à ce que je connais le mieux et que j’utilise avec succès depuis plusieurs années. Et c’est Blazor, qui utilise des frameworks Web C# et JavaScript, y compris TypeScript.
Le paysage du développement Web
Sans entrer dans les détails de l’histoire du développement Web, il est juste de dire que, jusqu’à la sortie de Blazor, la plupart des applications Web modernes utilisaient l’un des frameworks Web basés sur JavaScript, Angular, React ou Vue.
Il y avait aussi d’étranges Knockout.js ou des applications Web basées sur un framework personnalisé.
Dans le monde .NET, nous avons eu Noyau ASP.NETapplications Web basées sur des applications Web depuis de nombreuses années. Bien que les formulaires Web ASP.NET Core ne m’aient jamais impressionné, ASP.NET Core MVC ou Razor Pages étaient quelque peu viables pour créer des applications internes.
Cependant, en ce qui concerne les applications Web monopage (SPA) modernes orientées composants offrant des expériences utilisateur modernes, C# et .NET n’avaient rien à offrir jusqu’à la sortie de Blazor en 2020.
Bien que Blazor, dans sa première version, présentait de nombreuses aspérités et de nombreuses limitations, il s’est amélioré étape par étape, et il est juste de dire qu’en 2025, Blazor est une alternative viable aux frameworks Web basés sur JavaScript pour créer des SPA modernes.
Qu’est-ce que Blazor ?
Je suis sûr que vous savez déjà une chose ou deux sur Blazor. Cependant, Blazor s’est amélioré à chaque version, et je vois souvent des gens avoir une fausse idée de ce qu’est Blazor ou non.
Blazor est un framework Web SPA moderne basé sur la plateforme .NET. En plus d’utiliser C# au lieu de JavaScript, nous pouvons accéder à la plupart des technologies .NET, notamment Entity Framework Core ou similaire et à des milliers de packages sur NuGet.org.
Blazor propose trois modes de rendu (souvent appelés modèles d’hébergement) : Blazor Server, Blazor WebAssembly et Rendu statique côté serveur Blazor (SSR). SSR est la valeur par défaut lors de l’utilisation du dernier modèle de projet d’application Web Blazor.
Ces modes de rendu utilisent une architecture différente et ont leurs forces et leurs faiblesses. C’est l’une des choses les plus importantes à comprendre :
Blazor n’est pas seulement une forme de développement Web. Au lieu de cela, il existe différentes saveurs.
Modèle de composant Blazor
Avant d’en apprendre davantage sur les différents modes de rendu et sur l’utilisation du mode le plus judicieux, découvrons le modèle de composant Blazor.
Le modèle de composant Blazor utilise les composants Razor avec le code du modèle (HTML) et le code d’interaction (C#) dans le même fichier .razor.
<h1>@Title</h1>
@code {
public string Title { get; set; } = "My Component";
}
Le Les bases du Blazor la série contient de nombreux articles fondamentaux, tels que Création d’un composant Blazorexpliquant comment fonctionne le modèle de composant Blazor et pourquoi il permet un développement rapide.
J’ai de l’expérience avec les applications Web React basées sur des hooks et j’ai écrit des useEffect
-des solutions que je n’arrivais pas à comprendre quelques mois plus tard. Avec Blazor et ses méthodes de cycle de vie, j’écris du code plus simple, compréhensible et maintenable.
L’un des meilleurs avantages de Blazor est que vous pouvez utiliser C# dans vos composants d’interface utilisateur et vos services backend. Extraire le code de la logique d’interaction de l’interface utilisateur dans vos services métier est une tâche simple et fluide.
Les composants Razor peuvent être implémentés comme indépendant du mode de renduce qui signifie que vous pouvez utiliser le même composant avec différents modes de rendu.
Cela vous permet de créer un composant et de l’utiliser dans un Blazor Server et une application Blazor WebAssembly sans modifier son implémentation.
Une bibliothèque de classes Razor (RCL) est un type de projet qui permet le regroupement et le partage de composants Razor avec plusieurs applications.
Enfin, puisque C# est un langage compilé, je bénéficie d’une grande assistance du compilateur lors de l’implémentation de mes composants. Cela m’aide à résoudre (certains) bugs au moment de la compilation plutôt qu’au moment de l’exécution.
Rendu statique côté serveur Blazor (SSR)
Blazor Static Server-Side Rendering (SSR) est le dernier ajout au framework. Le principal avantage est que nous pouvons utiliser le modèle de composant Razor pour les sites Web rendus statiquement par un serveur.
Alors que Blazor Server et Blazor WebAssembly exécutent du code d’interaction (par exemple, pour gérer un clic sur un bouton), SSR nous permet de (ré)utiliser les mêmes composants ou de construire une arborescence de composants spécifiques en utilisant le modèle de programmation de composants robuste Razor.
Serveur Blazor
Blazor Server utilise une connexion socket Web persistante entre le serveur Web et le client. Le code d’interaction est exécuté sur le serveur et un delta de l’interface utilisateur (code HTML et JavaScript) est envoyé du serveur au client.
Le navigateur utilise ensuite ces données et restitue le site Web en conséquence. Tout l’état est conservé sur le serveur.
Blazor WebAssembly
Blazor WebAssembly s’exécute entièrement sur le client et constitue le mode de rendu le plus comparable aux frameworks Web traditionnels basés sur JavaScript tels que React, Angular ou Vue.
Semblable aux frameworks Web JavaScript, un ensemble est téléchargé sur le client lorsque l’utilisateur visite le site Web pour la première fois. Ensuite, le bundle est extrait et le code WebAssembly est exécuté nativement sur le navigateur.
Au lieu d’exécuter JavaScript, le navigateur exécute WebAssembly lorsqu’il utilise Blazor WebAssembly pour implémenter une application Web.
WebAssembly est un standard Web ouvert et il existe d’autres frameworks, tels que XYZ, qui utilisent l’assemblage Web. Par exemple, Yew, Leptos et Seed sont des frameworks Web WebAssembly basés sur Rust.
Si les fonctionnalités progressives de l’application Web, telles que la prise en charge hors ligne, les travailleurs en arrière-plan, l’installabilité ou les notifications push, sont importantes pour votre application Web, vous devez utiliser Blazor WebAssembly.
En savoir plus sur les applications Web progressives avec Blazor WebAssembly.
Avec Studio visuel et Code de Visual StudioMicrosoft fournit l’un des (sinon le) meilleurs outils de développement pour tout environnement de programmation.
Avec Visual Studio, nous obtenons un IDE complet, et avec Visual Studio Code, un éditeur de code léger et performant.
De plus, avec Pilote JetBrainsnous avons une brillante option tierce.
Parce que Blazor utilise C#, nous avons accès à presque tous les packages sur NuGet. Cela signifie que pour la plupart des problèmes, il existe une solution pré-implémentée que nous pouvons exploiter dans nos applications Web.
Nous pouvons même partager nous-mêmes du code, des composants et des artefacts en implémentant et en publiant des informations internes ou publiques. Forfaits NuGet.
Les cadres d’interface utilisateur tels que le Bibliothèque de composants Blazor pour une interface utilisateur moderne de Progress Telerik fournit des composants hautement fonctionnels et personnalisables pour mettre en œuvre des applications Web de pointe.
Cadres Web JavaScript
En ce qui concerne les frameworks Web JavaScript, l’un des points forts est la disponibilité des développeurs Web JavaScript. JavaScript est accessible et des millions de développeurs l’utilisent quotidiennement.
Trouver un bon développeur .NET peut être plus difficile que trouver un bon développeur JavaScript. Si vous disposez déjà d’une équipe de développeurs Web JavaScript expérimentés, s’en tenir à ce que vous connaissez le mieux pourrait être la meilleure option.
Cependant, si vous avez des développeurs .NET de bureau ou mobiles expérimentés, les aider à faire la transition vers le développement Web à l’aide de Blazor est probablement plus simple que de leur apprendre JavaScript.
Je crois fermement que JavaScript est simple à apprendre mais difficile à maîtriser. J’ai vu de nombreuses applications intéressantes, mais aussi beaucoup de mauvais code qui rendaient une nouvelle application pratiquement impossible à maintenir.
Avec C# et .NET, vous pourriez avoir une barrière d’entrée plus élevée, mais créer un désordre me semble plus difficile. Il s’agit évidemment d’une affirmation très subjective basée sur mon expérience individuelle, mais elle mérite d’être prise en compte au moment de prendre la décision.
L’écosystème JavaScript fournit un vaste paysage de bibliothèques, d’outils et de fragments de code d’interface utilisateur existants. Avec npm et des outils similaires, l’installation de packages externes est simple.
Les frameworks Web JavaScript sont généralement les mieux adaptés à la création d’applications Web hautement évolutives. De bons exemples sont Facebook, Netflix et Airbnb.
Cependant, il existe des cas d’utilisation dans lesquels nous ne nous attendons pas à des milliers ou des millions d’utilisateurs. Pour les applications métiers traditionnelles, notre objectif est de les publier le plus rapidement possible.
Voulez-vous jongler avec une douzaine de dépendances externes pour implémenter une application Web simple de formulaire sur données ?
Installer des packages, suivre leurs cycles de publication et corriger les bugs et les vulnérabilités peut être un défi.
Laissez une application basée sur un framework Web JavaScript reposer pendant 12 à 24 mois et essayez de la rendre opérationnelle avec les dernières versions des dépendances externes. J’y suis allé et je peux vous dire que c’est surtout le bordel et que cela demande beaucoup de travail pour se remettre à niveau.
Avec Blazor, créer des applications métiers simples est simple. La vitesse de développement est élevée et avec le cycle de publication annuel de .NET, la plupart des dépendances externes prennent en charge les principales versions de .NET. Il est plus simple de se tenir à jour et de mettre à jour les applications orphelines.
Conclusion
Il n’y a pas de bon ou de mauvais choix. Les frameworks Web JavaScript continueront de prospérer. Les développeurs expérimentés créeront des applications Web robustes, sécurisées et évolutives.
Cependant, avec Blazor, nous disposons désormais d’un framework Web basé sur C# et .NET qui fournit un framework Web moderne et de pointe pour les développeurs .NET, leur permettant de créer des applications Web robustes, sécurisées, évolutives et fiables.
En fin de compte, les préférences personnelles, l’expérience en développement, la structure de l’équipe et la stratégie à long terme doivent être prises en compte au moment de décider quoi choisir pour votre prochaine application Web.
Le meilleur conseil que je puisse vous donner est le suivant : ne sautez pas aveuglément Blazor et continuez à utiliser ce que vous avez utilisé dans le passé. Je vous mets au défi de passer 20 heures à découvrir Blazor et à découvrir ses avantages par vous-même.
Si vous souhaitez en savoir plus sur le développement de Blazor, vous pouvez regarder mon cours intensif Blazor gratuit sur YouTube. Et restez à l’écoute du blog Telerik pour en savoir plus Les bases du Blazor.
Quel que soit l’itinéraire que vous choisissezProgress est prêt à soutenir vos efforts de développement, avec les bibliothèques de composants Telerik pour les frameworks .NET et les bibliothèques de composants Kendo UI pour JavaScript.
Les bundles DevCraft incluent des bibliothèques et des outils d’interface utilisateur :
- Blazer
- Noyau ASP.NET
- ASP.NET MVC
- ASP.NET AJAX
- Rapports intégrés
- Outils moqueurs
- .FILET
- WPF
- WinForms
- Wuui
- Tests automatisés
- Angulaire
- Réagir
- jQuery
- Vue
Essayez tout gratuitement avec un essai de 30 jours !
Source link