AIDE .NET

Blazor .NET 8 (Tutoriel du développeur)

Publié décembre 24, 2023
Partager:

Blazor, le framework d'interface utilisateur web complet, a considérablement évolué avec la sortie de .NET 8.0. Cette mise à jour apporte diverses fonctionnalités et améliorations qui permettent aux développeurs de créer des applications web interactives et modernes à l'aide de C# et . NET.

Dans cet article, nous allons nous pencher sur les aspects clés de Blazor .NET 8.0, en explorant les nouveaux modes de rendu, les modèles de projet, les améliorations de l'outillage, et bien d'autres choses encore.

Blazor .NET 8 (Tutoriel du développeur) : Figure 1

Comprendre les modes de rendu de Blazor

Blazor dans .NET 8.0 introduit trois modes de rendu :

  1. Rendu statique du serveur: Génère du HTML statique pour des performances optimales.

  2. Rendu serveur interactif: Utilise le runtime ASP.NET Core côté serveur pour le rendu initial et l'interactivité.

  3. Rendu WebAssembly interactif: Exploite le moteur d'exécution .NET WebAssembly sur le client pour le rendu et l'interactivité ultérieurs.

Le rendu interactif polyvalent de l'automobile

L'une des nouveautés est le mode de rendu Auto interactif, qui combine le rendu du contenu côté serveur avec le rendu et l'interactivité ultérieurs sur le client à l'aide du moteur d'exécution .NET WebAssembly. Il en résulte un démarrage plus rapide de l'application, ce qui en fait une option intéressante pour les développeurs.

Introduction du modèle d'application Web Blazor

.NET 8.0 introduit le modèle Blazor Web App, un point de départ unifié qui combine les forces des modèles d'hébergement Blazor Server et Blazor WebAssembly.

Ce modèle intègre de nouvelles fonctionnalités telles que le rendu statique du serveur, le rendu en continu, l'amélioration de la navigation et la gestion des formulaires. La consolidation des modèles de projet simplifie le processus de développement.

Initialisateurs JS simplifiés pour les applications Web Blazor

Les initialisateurs JS traditionnels ont été remplacés par un nouvel ensemble pour les applications Web Blazor, offrant un meilleur contrôle sur des tâches telles que la personnalisation du processus de chargement, les niveaux de journalisation et d'autres options. Ce changement améliore l'expérience de développement et s'aligne sur l'objectif d'unifier les modèles d'hébergement dans .NET 8.0.

Fractionnement Pré-rendus et conseils d'intégration

Afin de mieux cibler la couverture, les conseils sur le prérendu et l'intégration ont été divisés en articles distincts. Cette modification vise à simplifier la compréhension et la mise en œuvre, en permettant aux développeurs de suivre plus facilement les meilleures pratiques.

Persistance d'état sans effort dans les applications Web de Blazor

Blazor Web Apps persiste désormais automatiquement tout état enregistré au niveau de l'application créé pendant le pré-rendement. Il n'est donc plus nécessaire d'utiliser le Persist Component State Tag Helper, ce qui simplifie le processus de persistance et de lecture de l'état des composants.

Amélioration de la gestion des formulaires et de la liaison des modèles

.NET 8.0 apporte aux composants Blazor des capacités améliorées de traitement des formulaires, y compris la liaison de modèle et la validation des données. Le cadre honore les attributs des contrats de données, ce qui permet aux développeurs de mieux contrôler la manière dont les données du formulaire sont liées au modèle. L'introduction d'un support anti-falsification ajoute une couche supplémentaire de sécurité aux soumissions de formulaires.

Amélioration de la navigation et du traitement des formulaires

Le rendu statique du serveur dans Blazor .NET 8.0 apporte une amélioration significative à la navigation dans les pages et à la gestion des formulaires. Traditionnellement, les rafraîchissements de pleine page se produisaient lors de la navigation ou de la soumission d'un formulaire.

Avec la fonction de navigation améliorée, Blazor intercepte la demande et effectue une requête de récupération, en intégrant le contenu de la réponse rendue de manière transparente dans le DOM du navigateur. Cela permet d'éviter l'actualisation complète des pages, ce qui se traduit par un chargement plus rapide et plus fluide des pages, tout en préservant une plus grande partie de l'état de la page.

La navigation améliorée est activée par défaut lorsque le script Blazor (blazor.web.js) est chargé, et il peut être activé de manière facultative pour des formulaires spécifiques. La nouvelle API de navigation améliorée permet aux développeurs d'actualiser la page en cours de manière programmatique, offrant ainsi un contrôle encore plus grand sur l'expérience de l'utilisateur.

Rendu en continu

Blazor .NET 8.0 introduit le rendu en continu, une fonctionnalité puissante qui améliore l'expérience de l'utilisateur pour les pages exécutant des tâches asynchrones de longue durée. Avec le rendu en continu, les pages peuvent rendre un contenu fictif pendant que des opérations asynchrones sont en cours.

Une fois terminé, le contenu mis à jour est transmis au client sur la même connexion de réponse et intégré de manière transparente dans le DOM. Cette approche garantit un rendu rapide de la présentation principale de l'application et une mise à jour de la page dès que le contenu est disponible.

Injection de services à clé

Blazor supporte maintenant l'injection de services à clé en utilisant l'attribut Inject. Les clés permettent de définir la portée de l'enregistrement et de la consommation des services dans les scénarios d'injection de dépendances.

La nouvelle propriété InjectAttribute.Key permet aux développeurs de spécifier la clé du service à injecter, ce qui ouvre de nouvelles possibilités pour le cadrage des services.

Accéder à HttpContext en tant que paramètre en cascade

Blazor .NET 8.0 introduit la possibilité d'accéder au HttpContext actuel en tant que paramètre en cascade à partir d'un composant serveur statique. Cette amélioration est particulièrement utile pour inspecter et modifier les en-têtes ou d'autres propriétés liées au contexte HTTP.

Rendu des composants Razor en dehors d'ASP.NET Core

Blazor .NET 8.0 ouvre la possibilité de rendre les composants Razor en dehors du contexte d'une requête HTTP. Cette flexibilité permet aux développeurs de rendre les composants Razor directement dans une chaîne ou un flux indépendamment de l'environnement d'hébergement ASP.NET Core.

Cette fonction est particulièrement pratique pour les scénarios dans lesquels il est nécessaire de générer des fragments HTML, tels que des courriers électroniques ou du contenu de sites statiques.

Soutien aux sections

Dans Blazor .NET 8.0, l'introduction des composants SectionOutlet et SectionContent révolutionne la gestion de contenu. Ces composants permettent aux développeurs de définir des espaces réservés dans les mises en page, qui seront ensuite remplis par des pages spécifiques.

Les sections peuvent être référencées à l'aide de noms uniques ou d'identifiants d'objets, ce qui permet une flexibilité et une réutilisation dans la construction de mises en page web dynamiques.

Soutien aux pages d'erreur

Les Web Apps Blazor dans .NET 8.0 bénéficient désormais d'une prise en charge robuste des pages d'erreur, permettant aux développeurs de définir des pages d'erreur personnalisées à utiliser avec le middleware de gestion des exceptions ASP.NET Core.

La page d'erreur par défaut (Components/Pages/Error.razor) offre une expérience cohérente à l'utilisateur. Même lorsque l'interactivité est activée, la page d'erreur est rendue sous la forme d'un composant serveur statique, ce qui garantit la stabilité des scénarios d'exception.

QuickGrid De l'expérimental à l'essentiel

quickGrid, le composant de grille haute performance, est passé du statut expérimental à celui de partie intégrante du framework Blazor dans .NET 8.

Ce composant simplifie l'affichage des données tabulaires tout en offrant des fonctionnalités puissantes telles que le tri, le filtrage, la pagination et la virtualisation. Pour en savoir plus sur QuickGrid, consultez la documentation de ASP.NET Core Blazor QuickGrid.

Itinéraire vers les éléments nommés

Blazor .NET 8.0 introduit la prise en charge du routage côté client pour naviguer directement vers des éléments HTML spécifiques d'une page à l'aide de fragments d'URL standard. En spécifiant un identifiant pour un élément HTML avec l'attribut standard id, Blazor défile de manière transparente vers cet élément lorsque le fragment d'URL correspond à l'identifiant de l'élément.

Valeurs en cascade au niveau de la racine

Blazor .NET 8.0 améliore les valeurs en cascade en introduisant des valeurs en cascade au niveau de la racine qui peuvent être enregistrées pour l'ensemble de la hiérarchie des composants. Les valeurs nommées en cascade et les abonnements aux notifications de mise à jour sont désormais pris en charge, ce qui offre une plus grande souplesse et un meilleur contrôle.

Virtualiser le contenu vide

Le nouveau paramètre EmptyContent du composant Virtualize permet aux développeurs de fournir du contenu lorsque le composant a été chargé et que l'un des éléments est vide ou que le résultat ItemsProviderResult<T>.TotalItemCount est égal à zéro.

Cela permet aux développeurs de créer des interfaces plus intuitives et plus conviviales.

Gestion des circuits et surveillance des signaux

Blazor .NET 8.0 introduit la possibilité de fermer les circuits lorsqu'il ne reste plus de composants serveur interactifs. Cette optimisation libère les ressources du serveur et améliore les performances globales.

En outre, les développeurs peuvent désormais surveiller l'activité des circuits entrants dans les applications côté serveur en utilisant la méthode CreateInboundActivityHandler sur CircuitHandler.

Des performances d'exécution plus rapides avec le Jiterpreter

Le Jiterpreter, une nouvelle fonctionnalité d'exécution de .NET 8, introduit le Just-in-Time partiel (JIT) prise en charge de la compilation lors de l'exécution de WebAssembly. Les performances d'exécution s'en trouvent améliorées, ce qui permet aux utilisateurs d'interagir plus facilement avec les applications Blazor WebAssembly.

SIMD à l'avance (AOT) et gestion des exceptions

La compilation AOT de Blazor WebAssembly utilise désormais par défaut WebAssembly Fixed-width SIMD et WebAssembly Exception handling. Ce choix stratégique améliore considérablement les performances d'exécution, offrant une expérience utilisateur plus efficace et plus réactive.

Emballage Webcil pour un déploiement adapté au Web

Blazor WebAssembly utilise désormais Webcil, un emballage convivial d'assemblages .NET. Cela garantit la compatibilité dans les environnements qui bloquent le téléchargement ou l'utilisation de fichiers .dll, ce qui permet de relever les défis du déploiement. Webcil est activé par défaut pour les applications Blazor WebAssembly.

Amélioration du débogage de Blazor WebAssembly

Le débogage des applications Blazor WebAssembly a été simplifié dans .NET 8. Le débogueur télécharge désormais les données des symboles à partir des emplacements configurés dans les préférences de Visual Studio, ce qui améliore l'expérience de débogage pour les applications utilisant des paquets NuGet.

En outre, le débogage est désormais pris en charge dans Firefox, nécessitant une configuration pour le débogage à distance et une connexion via le proxy de débogage .NET WebAssembly.

Compatibilité de la politique de sécurité du contenu (PSC)

Blazor WebAssembly dans .NET 8.0 élimine la nécessité d'activer la source de script unsafe-eval lors de la spécification d'une politique de sécurité du contenu (CSP). Cette amélioration simplifie les configurations de sécurité, facilitant l'application d'une CSP solide pour les applications Blazor WebAssembly.

Gestion des exceptions en dehors du cycle de vie des composants

L'introduction de ComponentBase.DispatchExceptionAsync permet aux développeurs de traiter les exceptions lancées en dehors de la pile d'appels du cycle de vie d'un composant Razor.

Cette fonctionnalité permet au code du composant de traiter les exceptions comme s'il s'agissait d'exceptions de méthodes du cycle de vie, ce qui garantit un mécanisme de traitement des erreurs plus cohérent et mieux contrôlé.

Présentation d'Iron Suite

Iron Suitedéveloppé par Iron Software, se compose de sept bibliothèques utiles, permettant aux développeurs de créer des applications Blazor puissantes.

Si vous souhaitez ajouter des fonctionnalités PDF, Excel ou CSV, la reconnaissance d'images en texte, la génération et la lecture de codes-barres et de codes QR, ainsi que la compression ou l'extraction de fichiers.

Iron Suite est le choix idéal à considérer pour le développement web utilisant le modèle d'hébergement Blazor WebAssembly, ou toute technologie Microsoft incluant l'application Blazor WebAssembly, l'application serveur Blazor, ASP.NET Core MVC APP, ASP.NET core WEB APIs, ou toute application construite dans le runtime .NET que ce soit n'importe quelle version.

Bibliothèques d'Iron Suite

  1. IronPDF pour créer, manipuler et extraire des données de fichiers PDF en toute transparence.

    La fonction phare d'IronPDF est la conversion HTML vers PDF, avec préservation complète de la mise en page et du style. C'est parfait pour générer des PDFs à partir de contenu web, y compris des rapports, des factures et de la documentation. Vous pouvez convertir des fichiers HTML, des URL ou des chaînes HTML en fichiers PDF.

    using IronPdf;

    class Program
    {
        static void Main(string[] args)
        {
            var renderer = new ChromePdfRenderer();

            // 1. Convert HTML String to PDF
            var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
            var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
            pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

            // 2. Convert HTML File to PDF
            var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
            var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
            pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

            // 3. Convert URL to PDF
            var url = "http://ironpdf.com"; // Specify the URL
            var pdfFromUrl = renderer.RenderUrlAsPdf(url);
            pdfFromUrl.SaveAs("URLToPDF.pdf");
        }
    }
    using IronPdf;

    class Program
    {
        static void Main(string[] args)
        {
            var renderer = new ChromePdfRenderer();

            // 1. Convert HTML String to PDF
            var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
            var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
            pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

            // 2. Convert HTML File to PDF
            var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
            var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
            pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

            // 3. Convert URL to PDF
            var url = "http://ironpdf.com"; // Specify the URL
            var pdfFromUrl = renderer.RenderUrlAsPdf(url);
            pdfFromUrl.SaveAs("URLToPDF.pdf");
        }
    }
Imports IronPdf

	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim renderer = New ChromePdfRenderer()

			' 1. Convert HTML String to PDF
			Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
			Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
			pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

			' 2. Convert HTML File to PDF
			Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
			Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
			pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

			' 3. Convert URL to PDF
			Dim url = "http://ironpdf.com" ' Specify the URL
			Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
			pdfFromUrl.SaveAs("URLToPDF.pdf")
		End Sub
	End Class
VB   C#
  1. IronOCR (Reconnaissance optique de caractères) pour l'extraction de texte à partir d'images numérisées ou de fichiers PDF, ce qui améliore l'accessibilité des données.

  2. IronXL pour lire, écrire et manipuler efficacement des feuilles de calcul Excel.

  3. IronBarcode pour générer et lire des codes-barres de différents formats, facilitant ainsi l'encodage et la récupération des données.

  4. IronQR pour la création et la lecture de codes QR à l'aide de l'apprentissage automatique

  5. IronWebscraper pour extraire des données précieuses des sites web, améliorant ainsi les capacités des applications basées sur le web.

  6. IronZIP pour compresser et décompresser les fichiers, rationaliser le stockage des données et les processus de transfert.

    Blazor .NET 8 (Tutoriel du développeur) : Figure 2

Ce qui distingue Iron Suite

  1. Accédez à l'ensemble de la suite au prix de seulement deux produits individuelsla valeur de votre investissement est ainsi maximisée.

  2. Que vous travailliez sur Windows, macOS ou Linux, Iron Suite garantit la compatibilité entre les différents systèmes d'exploitation (presque) toutes les plateformes.

  3. Le passage du téléchargement à la production est rapide, avec la possibilité d'être opérationnel en 5 minutes seulement.

  4. Accédez à une documentation détaillée et à des exemples pour toutes les fonctionnalités, afin d'apporter clarté et conseils tout au long du processus de développement.

  5. Une équipe d'ingénieurs spécialisés est disponible 24 heures sur 24 et 5 jours sur 7 pour répondre à toutes les questions, afin de garantir un développement sans heurts.

  6. Iron Suite est assorti d'une politique de remboursement sous 30 jours, sans aucune question, ce qui garantit la confiance et la tranquillité d'esprit.

Conclusion

En conclusion, la sortie de Blazor .NET 8.0 marque une étape importante dans l'évolution du développement d'interfaces utilisateur web complètes avec C# et .NET.

L'introduction de nouveaux modes de rendu, du modèle Blazor Web App, d'une navigation améliorée et d'une myriade d'autres fonctionnalités en font un choix incontournable pour les développeurs désireux de créer des applications web modernes et interactives.

Blazor .NET 8.0 présente également des fonctionnalités attrayantes telles que la gestion améliorée des formulaires, le rendu en continu et la possibilité d'injecter des services clés, ajoutant ainsi de la profondeur et de la flexibilité au développement.

L'introduction d'Iron Suite par Iron Software complète les capacités de Blazor, en offrant une boîte à outils complète pour les tâches liées aux documents dans l'écosystème .NET.

Blazor .NET 8.0 permet aux développeurs de créer des applications web robustes et riches en fonctionnalités en utilisant Iron Suite.

La combinaison de fonctionnalités puissantes, de performances améliorées et du soutien d'une communauté de développeurs dynamique fait de Blazor un choix incontournable pour le développement de sites web modernes.

< PRÉCÉDENT
C# KeyValuePair (Comment ça marche pour les développeurs)
SUIVANT >
BinaryKits.Zpl.Viewer (Comment ça marche pour les développeurs)