Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Blazor, le cadre 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 de .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 dans .NET 8.0 introduit trois modes de rendu :
Rendu statique du serveur: Génère du HTML statique pour des performances optimales.
Rendu serveur interactif: Utilise le runtime ASP.NET Core côté serveur pour le rendu initial et l'interactivité.
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.
.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.
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.
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.
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.
.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.
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.
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.
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.
HttpContext
en tant que paramètre en cascadeBlazor .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.
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.
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.
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'essentielquickGrid, 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
.
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.
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.
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.
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
.
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.
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.
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.
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.
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.
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é.
Iron Suite par Iron Softwareblazor, développé par Iron Software, se compose de plusieurs bibliothèques utiles, permettant aux développeurs de créer des applications Blazor puissantes. Il fournit des solutions pour ajouter des fonctionnalités PDF, des fonctionnalités de fichiers Excel ou CSV, la reconnaissance image-texte, la génération et la lecture de codes-barres et de codes QR, et la possibilité de zipper ou d'extraire des fichiers.
Iron Suite est le choix idéal à envisager pour le développement web utilisant le modèle d'hébergement Blazor WebAssembly, ou toute technologie Microsoft, notamment l'app Blazor WebAssembly, l'app serveur Blazor, l'APP ASP.NET Core MVC, les API WEB ASP.NET core, ou toute application construite dans le runtime .NET, que ce soit n'importe quelle version.
IronPDF pour créer, manipuler et extraire des données de fichiers PDF en toute transparence.
La fonction phare d'IronPDF est la conversionHTML 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
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.
IronXL pour lire, écrire et manipuler efficacement des feuilles de calcul Excel.
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.
IronQR pour la création et la lecture de codes QR à l'aide de l'apprentissage automatique
IronWebscraper pour extraire des données précieuses des sites web, améliorant ainsi les capacités des applications basées sur le web.
IronZIP la traduction doit rester professionnelle et préserver l'exactitude technique tout en expliquant les caractéristiques et les avantages de ces outils de développement.
Accédez à l'ensemble de la suite au prix deseulement deux produits individuelsla valeur de votre investissement est ainsi maximisée.
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.
Le passage du téléchargement à la production est rapide, avec la possibilité d'être opérationnel en 5 minutes seulement.
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.
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.
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.
9 produits de l'API .NET pour vos documents de bureau