Blazor de Microsoft: fonctionnalités clés pour le développement Web interactif dans .NET

Blazor de Microsoft: fonctionnalités clés pour le développement Web interactif dans .NET

Microsoft fournit un outil pour développer des applications natives Android et iOS dans des langages de programmation tels que .NET ou C #.

Microsoft Technology Associate vise à aider les développeurs dot net à utiliser le potentiel de la dernière boîte à outils Blazor pour créer des applications Web ou des applications iOS / Android natives. Microsoft avait annoncé un `` bâtiment Blazor '' expérimental pour Blazor, une fonctionnalité de la plate-forme ASP.NET qui permet aux développeurs de créer des applications Web interactives et une interface utilisateur à l'aide de C # plutôt que de JavaScript. Cette liaison des composants leur permet de créer des applications mobiles natives à l'aide de .NET ou C # pour Android ou iOS à l'aide d'une programmation Web familière.

En 2019, Microsoft avait présenté une solution utilisant la même technologie dans laquelle il avait développé une application de bureau Flutter, destinée aux mobiles et écrite en fléchettes, mais avec l'aide de Blazor et .NET. Microsoft Blazor est un framework d'interface utilisateur Web expérimental par ASP.NET qui vise à amener des applications sur tous les navigateurs via WebAssembly. Il permet aux développeurs de créer de véritables applications full-stack et de partager du code entre clients et serveurs sans aucune exigence de plugins ou de transpilation. Microsoft expérimente la plate-forme pour répondre aux besoins des développeurs qui connaissent les bases de la programmation Web et les modèles de création d'applications natives. Dans cet article, nous allons explorer comment Microsoft Blazor révolutionne les services de développement de sites Web dans .NET.

Pourquoi Blazor est-il le nouveau battage médiatique?

Microsoft's Blazor est le dernier framework d'interface utilisateur côté client dérivé de la communauté ASP.NET. L'aspect le plus vendu de cette plate-forme est sa capacité à développer des expériences d'interface utilisateur Web riches à l'aide de CSS, HTML ou C # plutôt que JavaScript. Il a tout ce dont la plupart des développeurs rêvent depuis si longtemps. En tant que développeur ou associé de site Web Microsoft, si vous avez suivi les nouveaux développements dans le domaine ASP.NET au cours des dernières années, vous avez certainement entendu parler de Blazor. Le framework JavaScript a été la mesure de facto depuis sa création pour le développement web front-end et les développeurs n'ont jamais semblé en être satisfaits. Et il y a eu de nombreux transpiles et supersets qui ont vu le jour au cours des dernières années comme Dart, CoffeeScript, Elm, Scala, etc. afin d'améliorer la plate-forme JavaScript et de la rendre plus maintenable. Cependant, Blazor a déjà commencé le processus car il a le potentiel d'être une plate-forme de programmation efficace et hautement productive autre que sa conception originale et se révèle être un contemporain direct des cadres de développement d'applications d'une seule page de JavaScript. Les principaux objectifs de ce cadre sont:

  • Création d'applications Web / d'interface utilisateur riches et interactives à l'aide de C # au lieu de JavaScript

  • Partager ou collecter la logique d'application côté serveur ou côté client développée dans le framework .NET

  • Rendu CSS et HTML de l'interface utilisateur pour la prise en charge des navigateurs, y compris les navigateurs mobiles

  • Intégration des dernières plates-formes d'hébergement telles que Docker et bien d'autres.

Le framework Blazor est une solution de développement d'applications sur une seule page qui permet aux utilisateurs de créer une interface utilisateur Web interactive à l'aide de C # au lieu de JavaScript. Inspiré des frameworks JavaScript tels que Angular, Vue ou React, il utilise des concepts similaires pour développer des solutions interactives. Toute application Blazor est développée à partir des composants réutilisables de Razor, c'est-à-dire de la syntaxe de balisage pour C # et HTML. Avec Blazor, Microsoft partage diverses expériences en cours et les explore avec les principales applications de bureau à l'aide de Web Window. Mais les derniers développements d'applications mobiles natives sont ceux où la programmation Blazor est associée aux contrôles Xamarin.

Lire le blog - Microsoft poursuit son travail pour cibler le développement d'applications mobiles avec Blazor

Qu'est-ce qui fait de Blazor une plate-forme flexible pour la meilleure entreprise de développement Web?

Blazor est une architecture car il sépare la manière dont les modifications sont rendues et la manière dont il calcule les modèles de composants de l'interface utilisateur ou les modifications d'application. Cette fonctionnalité distingue cette plate-forme de ses contemporains, c'est-à-dire d'autres cadres de développement d'interface utilisateur tels que ReactJS, Angular ou React Native qui ne peuvent développer que des technologies Web basées sur des interfaces utilisateur. En utilisant plusieurs rendus pour développer des solutions, Blazor est non seulement capable de développer les composants Web, mais peut également développer des interfaces utilisateur mobiles natives. De plus, il ne nécessite pas que les composants soient développés différemment, donc les composants développés pour les moteurs de rendu Web ne peuvent pas être utilisés avec d'autres rendus mobiles natifs. Mais le modèle de programmation reste le même, ce qui signifie qu'une fois que les développeurs se sont familiarisés avec ce modèle, ils peuvent facilement créer des interfaces utilisateur à l'aide de n'importe quel moteur de rendu. Les composants de son modèle d'application sont:

  • Moteur de rendu WebAssembly

  • Rendu à distance

  • Rendu d'électrons

  • Rendu de liaison mobile Blazor

Modèle d'hébergement - Le modèle AP de Blazor est responsable du calcul et de la maintenance des modifications de l'interface utilisateur dans les services de développement ASP.NET. Cependant, les développeurs peuvent également utiliser d'autres moteurs de rendu afin de contrôler l'affichage et les mises à jour. Ces modèles de rendu d'application sont principalement appelés modèles d'hébergement et, au moment du développement, il existe généralement quatre modèles dans Blazor. Elles sont-

  • Serveur Blazor

  • BlazorWebAssembly

  • Electron Blazor

  • Fixations Blazor

Parmi ces modèles, Blazor Server est le seul modèle classé comme production prise en charge au moment de la rédaction, tandis que les liaisons Blazor et Electron sont marquées comme des modèles pris en charge expérimentalement.

Microsoft Technology Associate: les fonctionnalités de Blazor

Il a déjà été annoncé que l'année 2020 serait définitivement l'apogée du Blazor de Microsoft et qu'elle deviendra bientôt courante. La plate-forme est vraiment simple et facile à utiliser car elle combine la commodité de Razor (navigateur + Razor) avec les concepts ASP.NET. Blazor a également rationalisé les modèles incroyables dans les frameworks JavaScript populaires tels que React ou Angular, tout en exploitant les modèles proposés par les conventions Dotnet ou Razor. Blazor est une plate-forme incroyable qui facilite la création d'interfaces utilisateur Web interactives côté client à l'aide du framework ASP.NET. Avec l'aide de la plate-forme Blazor, les développeurs peuvent réutiliser des bibliothèques et des codes de n'importe quel segment d'applications côté serveur. Puisqu'il utilise également le framework ASP.NET pour développer des applications interactives côté client, il s'appuie sur l'ensemble déjà puissant de frameworks et de bibliothèques. Certaines des fonctionnalités utiles de cette plate-forme qui la distinguent sont:

  • Il contient de nombreux composants d'interface utilisateur prédéfinis afin que les développeurs puissent facilement commencer à créer des applications étonnantes. Cette fonctionnalité est très appréciée par toute entreprise ou organisation de développement Web personnalisé

  • Ce pack ne nécessite aucune technologie ou fonctionnalité JavaScript. Au lieu de cela, les tâches peuvent être effectuées facilement en utilisant C #. Il s'agit d'améliorer la productivité globale des développeurs ou des organisations

  • il a une prise en charge intégrée pour l'authentification des composants de développement d'application pour le framework .NET

  • Les développeurs peuvent appeler des fonctionnalités JavaScript à partir de la méthodologie ASP.NET à l'aide d'une fonction appelée `` interopérabilité JavaScript ''

Tous les développeurs de sites Web Microsoft trouvent que Blazor est attrayant car il est développé par la communauté ASP.NET en tant que cadre de création d'applications côté client s'exécutant sous WebAssembly. Il offre les avantages d'un framework d'application d'une seule page moderne et riche utilisant la technologie ASP.NET de bout en bout. En outre, l'idée de ce framework peut potentiellement combiner les efficacités de C #, et Razor est un projet Web côté client qui peut s'exécuter complètement dans le navigateur. Il possède toutes les fonctionnalités nécessaires à la création d'un cadre Web moderne, dont certaines ont été répertoriées ci-dessous.

  • Modèle pour développer une interface utilisateur composable

  • Chargement en direct du navigateur pendant la phase de développement de l'application

  • Utilisation des dernières fonctionnalités de développement Web

  • Injection de dépendance

  • Capacité à fonctionner sur d'anciens navigateurs

  • Débogage ASP.NET complet

  • Développer des segments de la plate-forme de développement Web ouverte sans nécessiter de plugins

  • Intelligence riche et outils de développement d'interface utilisateur

  • Rendu côté serveur

Lisez le blog - Quelle est la différence entre C #, .NET, ASP.NET, Microsoft.NET et Visual Studio?

Comparaison de Microsoft Blazor avec le développement Web interactif ASP.NET

Tout ASP.NET standard rend l'interface utilisateur sous la forme d'un bloc de chaînes. Blazor, d'autre part, a développé ou rendu un arbre mais pas une chaîne. Ce cadre est une représentation d'un modèle d'objet de document, ce qui signifie qu'il conserve les composants en mémoire tandis que Blazor conserve la représentation. Toute modification ou modification apportée à ces composants peut déclencher une mise à jour de l'interface utilisateur pour les mêmes éléments de modèle d'objet de document. Il existe une énorme différence entre ces deux processus de rendu des chaînes. En particulier, la meilleure société de développement Web utilise des codes Blazor et ne peut pas accéder directement aux codes de modèle d'objet de document. Cette limitation fonctionne différemment pour ASP.NET Core et Razor car ils dépendent de l'infrastructure JavaScript afin d'obtenir un accès complet aux éléments d'interface utilisateur des applications interactives.

Le recours Blazor rend les arbres pour revenir à la représentation précédente du modèle d'objet de document (DOM) et rechercher les éléments particuliers du même modèle. Plus tard, ce framework les met à jour, les modifie ou les supprime en conséquence. Le cadre rationalise les modifications apportées au modèle de document ou manipule l'arborescence de rendu pour exécuter les modifications. Ce mécanisme permet au langage C # de fonctionner sur le rendu d'application interactif côté client. Les avantages de Blazor côté client sont:

  • Pour les services de développement de sites Web , Blazor permet aux développeurs d'exécuter directement le code ASP.NET dans le navigateur. Ce framework brise également le monopole du framework JavaScript sur une plateforme full-stack, car grâce à son assistance, les professionnels .NET n'ont pas besoin de devenir des polyglottes de programmation. Ils peuvent également développer des solutions entières sans écrire de codes en JavaScript

  • Les codes de l'interface utilisateur Blazor sont compilés dans ASP.NET en tant que langage intermédiaire et cela signifie que l'infrastructure a le même potentiel que le code JavaScript. Son modèle de compilation peut également créer une énorme différence pour les solutions Web de navigateurs axés sur les performances.

  • Les développeurs peuvent facilement valider le code entre le serveur ou les applications côté client. Par exemple, considérez qu'une plate-forme de services de développement ASP.NET a la logique de validation qui peut être appliquée au backend ainsi qu'au navigateur. Blazor leur a permis de créer une bibliothèque de classes dans la norme ASP.NET et de la partager entre les applications côté serveur ou côté client. De plus, toute modification de la logique de validation sera automatiquement appliquée à chacune de ces plates-formes.

Serveur Blazor

Ce modèle est actuellement l'un des modèles officiellement pris en charge et, avec son assistance, les applications peuvent facilement s'exécuter sur le serveur mais pas dans le navigateur. Blazor Server utilise la connexion SignalR afin de transmettre les mises à jour de l'interface utilisateur du serveur au navigateur. Ce modèle d'hébergement de serveur est actuellement dans l'option prise en charge par l'état de production pour le développement de base de Microsoft. Dans ce modèle, les applications orientées plateforme s'exécutent sur le serveur et en haut de l'environnement d'exécution ASP.NET. Lorsque les développeurs ou les utilisateurs chargent cette application, un petit fichier JavaScript est d'abord téléchargé qui établit une connexion bidirectionnelle en temps réel avec le serveur (connexion SignalR). Toute interaction entre un utilisateur et l'application est instantanément retransmise au serveur correspondant avec la connexion pour le traitement du serveur. Une fois que le serveur a terminé le traitement, les mises à jour et les modifications de l'interface utilisateur sont renvoyées au même client et appliquées au modèle d'objet de document. Microsoft a développé un algorithme très performant afin de calculer les diffs et de les transférer dans un format binaire compact. Contrairement à la plupart des autres applications Web interactives qui adoptent généralement une approche sans état, les modèles d'application serveur Blazor conservent le même état sur le serveur.

Pour la communauté des développeurs, cela nécessite une approche repensée dans quelques cas, mais en général, ils peuvent utiliser des concepts similaires à ceux utilisés dans les applications de base ASP.NET. Le plus grand avantage de ce modèle est que vous n'avez pas à développer une autre interface de programmation d'application pour communiquer entre le serveur et le client. En effet, chaque aspect s'exécute sur le serveur afin qu'une société de développement Web personnalisée ou un développeur puisse appeler directement ces fonctions selon leur logique. En raison des processus de calcul sur le serveur, les solutions Web interactives Blazor Server représentent une solution idéale pour les appareils bas de gamme ou les clients légers.

BlazorWebAssembly

C'est un gros problème pour les modèles d'hébergement qui obtiennent plus, mais pour de bonnes raisons. Ce modèle offre une concurrence directe au développement d'applications interactives JavaScript telles que React, VueJS ou Angular. En utilisant WebAssembly, les développeurs peuvent facilement écrire la logique et les codes de l'interface utilisateur à l'aide de C # au lieu de JavaScript. Lorsque Microsoft a initialement annoncé Blazor, il s'agissait entièrement des modèles WebAssembly. Ce modèle permettait à une application de se charger d'abord au format d'exécution, puis il chargeait l'ensemble de l'assembly d'application avec ses dépendances. Les dépendances de BlazorWebAssembly incluent le framework, System.dll, etc. mais le runtime est au format binaire et les autres assemblys sont au même format afin que les développeurs puissent l'utiliser dans le développement d'application ASP.NET habituel.

Blazor WebAssembly utilise le code de l'interpréteur pour exécuter ou charger une application et dans ce mode, l'interpréteur peut exécuter une interface utilisateur d'application interactive. La seule partie de ce processus qui est combinée en mode WebAssembly est son runtime mono. Son avantage majeur est la performance et le compromis avec les fichiers volumineux ou volumineux. Certains des avantages de WebAssembly dans Blazor sont:

  • il compile les fichiers statiques, ce qui signifie qu'il n'est pas nécessaire pour les développeurs de prendre en compte le runtime ASP.NET sur le serveur

  • La plupart des tâches de Blazor sont déchargées du serveur vers ses clients

  • Les applications peuvent également être exécutées en mode ou en état hors ligne

  • Il facilite le partage de code où les composants C # peuvent être partagés efficacement entre le serveur et les clients

Généralement, dans les applications ASP.NET, un compilateur juste à temps est utilisé mais il n'est pas récemment pris en charge par WebAssembly. Cependant, il pourrait être ajouté dans sa future version du standard mais pour l'instant, un autre est utilisé pour exécuter le code ASP.NET. La plate-forme associée Microsoft travaille sur des plans et une compilation Ahead Of Time (AOT) afin de compiler des applications ou des assemblys framework directement vers WebAssembly. Cette compilation se traduit par un temps de développement d'application interactif efficace et se révélera orientée performance en termes d'exécution.

La ligne de fond

À cette époque où il y a déjà beaucoup d'attention et de discussion autour de l'entrée de Blazor dans le développement .NET, les développeurs ont beaucoup de choix. Dans cet article, nous avons passé en revue l'introduction et les concepts de base de Microsoft Blazor, Sever, WebAssembly, etc. Nous avons également expliqué comment ce framework est déployé à l'heure actuelle pour le développement d'applications Web interactives sur la plate-forme ASP.NET. Blazor est une plate-forme passionnante et dispose d'une plus grande marge d'amélioration, notamment en termes de développement et d'outillage.

En outre, WebAssembly est sa technologie principale que la plupart des sociétés de développement d'applications ou des développeurs frontaux ne peuvent tout simplement pas ignorer. Il s'agit d'une excellente plate-forme pour les professionnels ASP.NET qui leur permet d'en profiter pour devenir des développeurs full-stack sans avoir à apprendre des langages de programmation supplémentaires. Cette plate-forme fournit de la clarté lorsqu'il s'agit de développer une interface utilisateur pour un modèle de programmation unique et elle peut être apprise facilement tout en appliquant les composants du framework n'importe où.