Depuis quelques jours, Microsoft a annoncé la disponibilité de la seconde préversion de ASP.Net Core 3.0. Dans cette nouvelle mouture du framework modulaire, Microsoft met en avant des changements notables et des améliorations.
Dans ASP.Net Core 3 Preview 2, Microsoft a souhaité faire le nettoyage de son framework partagé. Cela a conduit les mainteneurs du projet à expurger le framework de certaines fonctionnalités. Parmi le lot des changements apportés, nous avons Json.Net qui est en train d’être supprimé du framework partagé. Pour permettre à ASP.Net de prendre en charge le framework JSON pour .Net dans les projetst, il va falloir ajouter Json.Net comme un package indépendant. Toujours sur cette même lancée, l’équipe de Microsoft a décidé de supprimer la prise en charge de la compilation au moment de l’exécution des pages et des vues. Ce changement a été opéré afin de ne plus dépendre du compilateur Roslyn. Pour remédier au délestage du compilateur Roslyn, la compilation des pages et des vues est effectuée au moment de la construction. Dans une prochaine mise à jour, Microsoft annonce qu’elle fournira des packages NuGet pour éventuellement activer le support de la compilation à l'exécution dans les applications.
Razor Components, que retenir ?
Du côté des améliorations, nous avons cette seconde préversion de ASP.Net Core 3.0 qui prend en charge Razor Components. Pour les développeurs qui n’ont pas suivi l’évolution du projet Blazor, il faut savoir que Razor Components représente l’intégration du modèle de Blazor Components dans ASP.NET Core ainsi que le modèle d’hébergement Blazor côté serveur. Autrement dit, la fonctionnalité Razor Components s’exécute côté serveur dans ASP.NET Core, tandis que Blazor (Razor qui s’exécute côté client) est un framework Web .NET expérimental utilisant C#/Razor et HTML qui exécute Razor Components directement dans le navigateur à l’aide d’un environnement d’exécution .NET basé sur WebAssembly. Pour mieux se représenter l’idée de ces composants Razor, Microsoft explique que ce sont des fragments d’interface utilisateur tels qu’une page, une boite de dialogue ou un formulaire qui peuvent être utilisés comme un nouveau moyen de créer une interface utilisateur Web interactive côté client avec ASP.NET Core sans pour autant avoir besoin d’écrire du code JavaScript. En outre, les composants Razor sont également des classes .NET normales qui définissent la logique de rendu de l'interface utilisateur et des gestionnaires d'évènements côté client.
Hébergement de Razor Components
Étant donné que Razor Components dissocie la logique de rendu d'un composant de la manière dont les mises à jour de l'interface utilisateur sont appliquées, la manière dont les composants Razor peuvent être hébergés est très flexible. ASP.NET Core Razor Components dans .NET Core 3.0 ajoute la prise en charge de l'hébergement de composants Razor sur le serveur dans une application ASP.NET Core où toutes les mises à jour de l'interface utilisateur sont gérées via une connexion SignalR. Le moteur d'exécution envoie les évènements d'interface utilisateur du navigateur au serveur, puis applique les mises à jour d'interface utilisateur envoyées par le serveur au navigateur après l'exécution des composants. La même connexion est également utilisée pour gérer les appels JavaScript interop. À noter que les composants Razor peuvent également utiliser du code JavaScript côté client si nécessaire. De même, à partir d’un composant Razor, il est possible de faire appel à n'importe quelle API du navigateur ou à une bibliothèque JavaScript existante exécutée dans le navigateur.
Compatibilité assurée avec les applications MVC existantes en utilisant Razor Components
Pour ceux qui craignent une réécriture complète du code de leur application en souhaitant utiliser Razor Components, Microsoft rassure que les composants Razor peuvent être utilisés avec vos applications MVC et pages Razor existantes. Il n'est pas nécessaire de réécrire les vues ou les pages existantes pour utiliser les composants Razor. Et pour ceux qui ont déjà commencé à utiliser la préversion de l’EDI Visual Studio 2019, une prise en charge de Razor Components a été intégrée dans l’environnement de développement. Pour ce qui concerne Visual Studio pour Mac et Visual Studio Code, il va falloir patienter encore un peu pour voir la fonctionnalité Razor Components être supportée.
Le streaming client-serveur avec SignalR
Comme autres améliorations dans ASP.Net Core Preview 2, une prise en charge du streaming client-serveur a été ajoutée avec ASP.NET Core SignalR afin de permettre la transmission en continu des valeurs de retour à partir de méthodes côté serveur. Ceci est utile lorsque des fragments de données arrivent sur une période de temps.
API System.IO.Pipelines sur HttpContext
Microsoft informe que son équipe travaille actuellement dans ASP.NET Core 3.0 pour consommer l'API System.IO.Pipelines et l'exposer afin de permettre aux développeurs d'écrire des applications plus performantes.
Hôte générique dans les modèles
Les modèles ont été mis à jour pour utiliser l'hôte générique au lieu de WebHostBuilder comme cela se faisait dans le passé.
En dehors de ces améliorations, l'ajout de plusieurs nouvelles fonctionnalités a été effectué dans cette version de ASP.Net Core 3 Preview 2.
Source : Microsoft
Et vous ?
Quel est votre avis sur la nouvelle implémentation de ASP.Net Core 3 ?
Les nouveautés annoncées sont-elles en phase avec vos attentes ?
Voir aussi
ASP.NET Core 2.2 est disponible en version stable avec un nouveau module d'hébergement dans IIS et une nouvelle API pour suivre l'état des apps
Apprendre à créer une application CRUD avec ASP.NET Core Razor Pages sous Visual Studio Code et Entity Framework Core, un tutoriel d'Hinault Romaric
Apprendre à déployer une application ASP.NET Core avec un conteneur Docker, un billet d'Hinault Romaric
.NET Core ou .NET Framework ? Quelle implémentation adopter pour son projet ? Par Hinault Romaric
ASP.NET 5 devient ASP.NET Core 1 et .Net Core 5 est maintenant appelé .NET Core 1.0 pour mieux se démarquer des anciens frameworks
ASP.Net Core 3 Preview 2 est disponible
Avec la prise en charge de Razor Components et l'intégration du streaming client-serveur avec SignalR
ASP.Net Core 3 Preview 2 est disponible
Avec la prise en charge de Razor Components et l'intégration du streaming client-serveur avec SignalR
Le , par Olivier Famien
Une erreur dans cette actualité ? Signalez-nous-la !