Zum Fußzeileninhalt springen
.NET HILFE

Blazor .NET 8 (Entwicklertutorial)

Blazor, das Full-Stack-Web-UI-Framework, hat sich mit der Veröffentlichung von .NET 8.0 erheblich weiterentwickelt. Dieses Update bringt verschiedene Funktionen und Verbesserungen, die Entwicklern ermöglichen, interaktive und moderne Webanwendungen mit C# und .NET zu erstellen.

In diesem Artikel werden wir die wichtigsten Aspekte von Blazor .NET 8.0 untersuchen, die neuen Darstellungsmodi, Projektschablonen, Werkzeugverbesserungen und mehr erkunden.

Blazor .NET 8 (Entwickler-Tutorial): Abbildung 1

Verstehen der Blazor Render-Modi

Blazor in .NET 8.0 führt drei Rendermodi ein:

  1. Statisches Server-Rendering: Erzeugt statisches HTML für optimale Leistung.
  2. Interaktives Server-Rendering: Nutzt die serverseitige ASP.NET Core-Laufzeit für das anfängliche Rendering und die Interaktivität.
  3. Interaktives WebAssembly-Rendering: Nutzt die .NET WebAssembly-Laufzeit auf dem Client für nachfolgendes Rendering und Interaktivität.

Das vielseitige interaktive automatische Rendering

Ein Highlight ist der Modus "Interaktives Auto-Rendering", der serverseitiges Rendering für Inhalte mit nachfolgendem Rendering und Interaktivität auf dem Client mit der .NET WebAssembly-Laufzeit kombiniert. Dies führt zu einem schnelleren App-Start und macht es zu einer attraktiven Option für Entwickler.

Einführung in die Blazor Web App Vorlage

.NET 8.0 führt die Blazor-Web-App-Vorlage ein, einen einheitlichen Startpunkt, der die Stärken der Blazor-Server- und Blazor-WebAssembly-Hostingmodelle kombiniert.

Diese Vorlage integriert neue Funktionen wie statisches Server-Rendering, Streaming-Rendering, verbesserte Navigation und Formularverarbeitung. Die Konsolidierung der Projektvorlagen vereinfacht den Entwicklungsprozess.

Streamlined JS Initializers für Blazor Web Apps

Die traditionellen JS-Initialisierungen wurden durch einen neuen Satz für Blazor-Web-Apps ersetzt, der bessere Kontrolle über Aufgaben wie die Anpassung des Ladeprozesses, der Protokollebenen und anderer Optionen bietet. Diese Änderung verbessert das Entwicklungserlebnis und entspricht dem Ziel der Vereinheitlichung der Hostingmodelle in .NET 8.0.

Anleitung zur Aufteilung von Prerendering und Integration

Um eine fokussiertere Abdeckung zu bieten, wurden die Anleitungen für Pre-Rendering und Integration in separate Artikel aufgeteilt. Diese Änderung zielt darauf ab, das Verständnis und die Implementierung zu vereinfachen, was es Entwicklern erleichtert, bewährte Praktiken zu befolgen.

Mühelose State Persistence in Blazor Web Apps

Blazor-Web-Apps speichern jetzt automatisch jeden registrierten App-Level-Zustand, der während des Pre-Renderings erstellt wird. Dies beseitigt die Notwendigkeit des Persist-Component-State-Tag-Helfers und vereinfacht den Prozess des Speicherns und Lesens des Komponentenstatus.

Erweiterte Formularverarbeitung und Modellbindung

.NET 8.0 bringt verbesserte Formularverarbeitungsfähigkeiten für Blazor-Komponenten, einschließlich Model-Binding und Datenvalidierung. Das Framework beachtet Datenvertragsattribute und gibt Entwicklern mehr Kontrolle über die Bindung von Formulardaten an das Modell. Die Einführung der Unterstiftung von Fälschungsschutz bietet eine zusätzliche Sicherheitsebene bei der Formularübermittlung.

Verbesserte Navigation und Formularverarbeitung

Das statische Server-Rendering in Blazor .NET 8.0 führt zu einer wesentlichen Verbesserung in der Seitennavigation und Formularverarbeitung. Traditionell traten beim Navigieren oder Senden eines Formulars vollständige Seitenaktualisierungen auf.

Mit der verbesserten Navigationsfunktion fängt Blazor die Anfrage ab und führt eine Fetch-Anfrage aus, wobei der gerenderte Antwortinhalt nahtlos in das Browser-DOM gepatcht wird. Dies vermeidet vollständige Seitenaktualisierungen und resultiert in schnelleren und flüssigeren Seitenladezeiten bei gleichzeitiger Erhaltung des Seitenstatus.

Erweiterte Navigation ist standardmäßig aktiviert, wenn das Blazor-Skript (blazor.web.js) geladen wird, und kann optional für spezifische Formulare aktiviert werden. Die neue erweiterte Navigations-API ermöglicht es Entwicklern, die aktuelle Seite programmatisch zu aktualisieren und bietet so noch mehr Kontrolle über das Benutzererlebnis.

Streaming Rendering

Blazor .NET 8.0 führt Streaming-Rendering ein, eine mächtige Funktion, die das Nutzererlebnis für Seiten verbessert, die langlaufende asynchrone Aufgaben ausführen. Beim Streaming-Rendering können Seiten Platzhalterinhalte rendern, während asynchrone Operationen im Gange sind.

Sobald sie abgeschlossen sind, werden die aktualisierten Inhalte an den Client im Rahmen der gleichen Antwortverbindung gestreamt und nahtlos in das DOM gepatcht. Dieser Ansatz stellt sicher, dass das Hauptlayout der App schnell rendern kann und die Seite sich aktualisiert, sobald die Inhalte verfügbar sind.

Keyed Services Injection

Blazor unterstützt jetzt das Injizieren von Schlüsseldiensten mit dem Inject-Attribut. Schlüssel ermöglichen die Eingrenzung der Dienstregistrierung und -nutzung in Szenarien der Dependency Injection.

Die neue Eigenschaft InjectAttribute.Key ermöglicht es Entwicklern, den Schlüssel für den zu injizierenden Dienst anzugeben und eröffnet neue Möglichkeiten für die Erfassung von Diensten.

Zugriff auf HttpContext als kaskadierender Parameter

Blazor .NET 8.0 führt die Fähigkeit ein, auf den aktuellen HttpContext als übergeordneten Parameter von einer statischen Serverkomponente zuzugreifen. Diese Verbesserung ist besonders nützlich zum Untersuchen und Ändern von Headern oder anderen Eigenschaften im Zusammenhang mit dem HTTP-Kontext.

Rendering von Razor-Komponenten außerhalb von ASP.NET Core

Blazor .NET 8.0 eröffnet die Möglichkeit, Razor-Komponenten außerhalb des Kontexts einer HTTP-Anfrage zu rendern. Diese Flexibilität ermöglicht es Entwicklern, Razor-Komponenten unabhängig von der ASP.NET Core-Hostingumgebung direkt in einen string oder stream zu rendern.

Diese Funktion ist besonders praktisch für Szenarien, in denen das Erzeugen von HTML-Fragmenten, wie E-Mails oder statischer Webseiteninhalt, erforderlich ist.

Bereiche unterstützen

In Blazor .NET 8.0 revolutioniert die Einführung von SectionOutlet und SectionContent-Komponenten das Inhaltsmanagement. Diese Komponenten erlauben es Entwicklern, in Layouts Platzhalter zu definieren, die später von bestimmten Seiten ausgefüllt werden.

Abschnitte können mithilfe eindeutiger Namen oder Objekt-IDs referenziert werden, was Flexibilität und Wiederverwendbarkeit bei der Erstellung dynamischer Web-Layouts bietet.

Fehlerseiten-Unterstützung

Blazor-Web-Apps in .NET 8.0 bieten nun eine robuste Unterstützung für Fehlerseiten, die es Entwicklern ermöglicht, benutzerdefinierte Fehlerseiten zur Verwendung mit der ASP.NET Core-Fehlerbehandlungs-Middleware zu definieren.

Die Standardfehlerseite (Components/Pages/Error.razor) bietet ein konsistentes Nutzungserlebnis. Selbst wenn Interaktivität aktiviert ist, rendert die Fehlerseite als statische Serverkomponente und sorgt so für Stabilität bei Ausnahmefällen.

QuickGrid Vom Experimentellen zum Unverzichtbaren

QuickGrid, die leistungsstarke Gitterkomponente, hat den experimentellen Status verlassen und ist ein wesentlicher Bestandteil des Blazor-Frameworks in .NET 8 geworden.

Diese Komponente vereinfacht die Anzeige tabellarischer Daten und bietet gleichzeitig leistungsstarke Funktionen wie Sortierung, Filterung, Seitensteuerung und Virtualisierung. Erfahren Sie mehr über QuickGrid in der ASP.NET Core Blazor QuickGrid-Dokumentation.

Route zu benannten Elementen

Blazor .NET 8.0 führt die Unterstützung der Client-seitigen Routenführung ein, um direkt zu bestimmten HTML-Elementen auf einer Seite mittels standardmäßiger URL-Fragmente zu navigieren. Indem ein Identifier für ein HTML-Element mit dem Standardattribut id spezifiziert wird, scrollt Blazor nahtlos zu diesem Element, wenn das URL-Fragment mit dem Element-Identifier übereinstimmt.

Kaskadierende Werte auf Root-Ebene

Blazor .NET 8.0 verbessert die kaskadierenden Werte, indem es kaskadierende Werte auf der Wurzelebene einführt, die für die gesamte Komponentenhierarchie registriert werden können. Benannte kaskadierende Werte und Abonnements für Änderungsbenachrichtigungen werden jetzt unterstützt, was mehr Flexibilität und Kontrolle bietet.

Leeren Inhalt virtualisieren

Der neue EmptyContent-Parameter der Virtualize-Komponente ermöglicht es Entwicklern, bei geladenem und entweder leerem Element oder ItemsProviderResult.TotalItemCount gleich null, Inhalte bereitzustellen.

Dies befähigt Entwickler, intuitivere und benutzerfreundlichere Schnittstellen zu erstellen.

Schaltkreisverwaltung und SignalR-Überwachung

Blazor .NET 8.0 führt die Möglichkeit ein, Circuit zu schließen, wenn keine verbleibenden interaktiven Serverkomponenten vorhanden sind. Diese Optimierung setzt Server-Ressourcen frei und verbessert die Gesamtleistung.

Zusätzlich können Entwickler jetzt eingehende Circuit-Aktivitäten in serverseitigen Apps Mithilfe der Methode CreateInboundActivityHandler auf CircuitHandler überwachen.

Schnellere Laufzeitleistung mit dem Jiterpreter

Der Jiterpreter, eine neue Laufzeitfunktion in .NET 8, führt die Unterstützung von partieller Just-in-Time (JIT) Kompilierung bei der Ausführung auf WebAssembly ein. Dies führt zu einer verbesserten Laufzeitleistung und bietet ein reibungsloseres Erlebnis für Benutzer, die mit Blazor-WebAssembly-Anwendungen interagieren.

Ahead-of-Time (AOT) SIMD und Exception Handling

Die AOT-Kompilierung von Blazor WebAssembly verwendet jetzt standardmäßig WebAssembly Fixed-width SIMD und WebAssembly Exception-Handling. Diese strategische Entscheidung verbessert die Laufzeitleistung erheblich und bietet ein effizienteres und reaktionsfähigeres Nutzererlebnis.

Webcil-Paketierung für Web-freundliche Bereitstellung

Blazor WebAssembly verwendet jetzt Webcil, eine webfreundliche Verpackung von .NET-Assemblies. Dies stellt die Kompatibilität in Umgebungen sicher, die den Download oder die Nutzung von .dll-Dateien blockieren und begegnet Bereitstellungsproblemen. Webcil ist standardmäßig für Blazor-WebAssembly-Apps aktiviert.

Blazor WebAssembly Debugging-Verbesserungen

Das Debuggen von Blazor-WebAssembly-Apps ist in .NET 8 optimierter geworden. Der Debugger lädt jetzt Symboldaten aus den in den Visual Studio-Einstellungen konfigurierten Speicherorten herunter, was das Debugging-Erlebnis für Apps, die NuGet-Pakete nutzen, verbessert.

Zusätzlich wird das Debuggen jetzt in Firefox unterstützt, wobei eine Konfiguration für Remote-Debugging erforderlich ist und über den .NET WebAssembly-Debugging-Proxy verbunden wird.

Kompatibilität der Content Security Policy (CSP)

Blazor WebAssembly in .NET 8.0 eliminiert die Notwendigkeit, die unsichere Auswertungsskriptquelle zu aktivieren, wenn eine Content-Security-Policy (CSP) angegeben wird. Diese Verbesserung vereinfacht Sicherheitskonfigurationen und macht es einfacher, eine robuste CSP für Blazor-WebAssembly-Anwendungen durchzusetzen.

Behandlung von Ausnahmen außerhalb des Lebenszyklus einer Komponente

Die Einführung von ComponentBase.DispatchExceptionAsync ermöglicht es Entwicklern, Ausnahmen zu verarbeiten, die außerhalb des Lebenszyklusaufrufstapels einer Razor-Komponente auftreten.

Diese Funktion ermöglicht es, dass der Code der Komponente Ausnahmen so behandelt, als wären sie Ausnahmen im Lebenszyklus, und sorgt so für eine konsistentere und kontrollierte Fehlerbehandlung.

Einführung in Iron Suite

Iron Suite, entwickelt von Iron Software, besteht aus mehreren nützlichen Bibliotheken, die es Entwicklern ermöglichen, leistungsstarke Blazor-Anwendungen zu erstellen. Sie bietet Lösungen für das Hinzufügen von PDF-Funktionalität, Excel- oder CSV-Dateifunktionalität, Bild-zu-Text-Erkennung, Barcode- und QR-Code-Generierung und -Lesung sowie die Möglichkeit, Dateien zu zippen oder zu extrahieren.

Iron Suite ist die perfekte Wahl für die Webentwicklung mit dem Blazor-WebAssembly-Hostingmodell oder allen Microsoft-Technologien, einschließlich der Blazor-WebAssembly-App, Blazor-Server-App, ASP.NET Core MVC-APP, ASP.NET Core WEB-APIs oder jeder Anwendung, die in .NET-Laufzeiten gebaut ist, sei es jede Version.

Bibliotheken von Iron Suite

  1. IronPDF zum Erstellen, Bearbeiten und Extrahieren von Daten aus PDF-Dateien nahtlos.

Die herausragende Funktion von IronPDF ist das Konvertieren von HTML zu PDF unter vollständigem Layout- und Stil-Erhalt. Es ist perfekt zum Erstellen von PDFs aus Webinhalten, einschließlich Berichten, Rechnungen und Dokumentation. Man kann HTML-Dateien, URLs oder HTML-Strings in PDF-Dateien konvertieren.

```csharp
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");
    }
}
```
  1. IronOCR (Optische Zeichenerkennung) zum Extrahieren von Texten aus gescannten Bildern oder PDFs, was den Zugriff auf Daten verbessert.
  2. IronXL zum Lesen, Schreiben und Bearbeiten von Excel-Tabellen effizient.
  3. IronBarcode zum Erzeugen und Lesen von Barcodes in verschiedenen Formaten, was die Datenkodierung und -abrufung erleichtert.
  4. IronQR zum Erstellen und Lesen von QR-Codes unter Verwendung von maschinellem Lernen
  5. IronWebScraper zum Extrahieren von wertvollen Daten von Websites, was die Fähigkeiten von web-basierten Anwendungen verbessert.
  6. IronZIP zum Komprimieren und Dekomprimieren von Dateien, was Prozesse der Datenspeicherung und -übertragung optimiert.

Blazor .NET 8 (Entwickler-Tutorial): Abbildung 2

Was Iron Suite auszeichnet

  1. Sie erhalten Zugriff auf die gesamte Suite zum Preis von nur zwei Einzelprodukten und maximieren so den Wert Ihrer Investition.
  2. Egal ob Sie auf Windows, macOS oder Linux arbeiten, Iron Suite sorgt für Kompatibilität über (fast) alle Plattformen hinweg.
  3. Erleben Sie ein schnelles Abenteuer von Download bis Produktion, mit der Möglichkeit, in so wenig wie 5 Minuten bereit zu sein.
  4. Greifen Sie auf umfassende Dokumentationen und Beispiele für alle Funktionen zu, die Klarheit und Anleitung während des gesamten Entwicklungsprozesses bieten.
  5. Ein engagiertes Team von Ingenieuren steht Ihnen 24/5 zur Verfügung, um Ihnen bei Fragen zu helfen und ein reibungsloses Entwicklungserlebnis zu gewährleisten.
  6. Iron Suite kommt mit einer 30-tägigen Rückgabe-Garantie ohne Einwände, die Vertrauen und Seelenfrieden bietet.

Abschluss

Abschließend stellt die Veröffentlichung von Blazor .NET 8.0 einen bedeutenden Meilenstein in der Entwicklung von Full-Stack-Web-UI-Entwicklung mit C# und .NET dar.

Die Einführung neuer Rendering-Modi, der Blazor-Web-App-Vorlage, erweiterter Navigation und einer Vielzahl anderer Funktionen machen sie zu einer überzeugenden Wahl für Entwickler, die moderne und interaktive Webanwendungen erstellen möchten.

Blazor .NET 8.0 bringt auch überzeugende Funktionen wie verbesserte Formularverarbeitung, Streaming-Rendering und die Fähigkeit zum Injizieren von Schlüsseldiensten ein, die der Entwicklung Tiefe und Flexibilität verleihen.

Die Einführung der Iron Suite von Iron Software ergänzt die Fähigkeiten von Blazor und bietet ein umfassendes Toolkit für dokumentbezogene Aufgaben innerhalb des .NET-Ökosystems.

Blazor .NET 8.0 befähigt Entwickler zur Erstellung robuster und funktionsreicher Webanwendungen durch die Nutzung der Iron Suite.

Die Kombination aus leistungsstarken Funktionen, verbesserter Performance und der Unterstützung einer lebendigen Entwicklergemeinschaft positioniert Blazor als überzeugende Wahl für moderne Webentwicklung.

Häufig gestellte Fragen

Wie kann ich HTML in einer Blazor-Anwendung in PDF konvertieren?

Sie können die RenderHtmlAsPdf-Methode von IronPDF in einer Blazor-Anwendung verwenden, um HTML-Strings in PDFs zu konvertieren. Diese Methode ist mit Blazor-Server und Blazor WebAssembly Modellen kompatibel.

Was sind die neuen Rendering-Modi in Blazor .NET 8.0?

Blazor .NET 8.0 führt drei neue Rendering-Modi ein: Statisches Server-Rendering, Interaktives Server-Rendering und Interaktives WebAssembly-Rendering, die jeweils darauf ausgelegt sind, Leistung und Interaktivität zu optimieren.

Wie verbessert IronPDF Suite Blazor-Anwendungen?

IronPDF Suite verbessert Blazor-Anwendungen, indem es Funktionen wie PDF-Verarbeitung, OCR, Excel-Manipulation und Barcode-Erstellung bietet, die für die Entwicklung robuster Webanwendungen unerlässlich sind.

Was ist der Interaktive Auto-Rendering-Modus in Blazor .NET 8.0?

Der Interaktive Auto-Rendering-Modus in Blazor .NET 8.0 kombiniert serverseitiges Rendering mit clientseitiger Interaktivität und nutzt die WebAssembly-Laufzeitumgebung von .NET für einen schnelleren Anwendungsstart.

Wie kann ich die Formularverarbeitung in Blazor .NET 8.0 verbessern?

Blazor .NET 8.0 verbessert die Formularverarbeitung mit verbesserten Modellbindungen, Datenvalidierung und Anti-Fälschungsschutz, was Entwicklern mehr Kontrolle über die Verwaltung von Formulardaten gibt.

Was ist der Zweck des Streaming-Renderings in Blazor .NET 8.0?

Streaming-Rendering in Blazor .NET 8.0 ermöglicht das anfängliche Rendering von Platzhalterinhalten, während langwierige asynchrone Aufgaben abgeschlossen werden. Dies verbessert das Benutzererlebnis durch nahtlose Aktualisierung der Seite.

Wie vereinfacht das Blazor-Web-App-Template die Entwicklung?

Das Blazor-Web-App-Template in .NET 8.0 vereint die Blazor-Server und Blazor WebAssembly Modelle und vereinfacht den Entwicklungsprozess mit verbesserter Navigation und Formularverarbeitung.

Wie ergänzt das Toolkit von Iron Software Blazor .NET 8.0?

Das Toolkit von Iron Software ergänzt Blazor .NET 8.0, indem es umfassende dokumentbezogene Funktionen bietet, die die Fähigkeit des Frameworks zur Verarbeitung komplexer Dokumentenaufgaben verbessern.

Welche Vorteile bietet die Nutzung von IronPDF in einer Blazor-Webanwendung?

IronPDF bietet leistungsstarke PDF-Erstellungs- und Manipulationsfunktionen, was es zu einer idealen Wahl für Entwickler macht, die Blazor-Webanwendungen erstellen, die robuste Dokumentenverarbeitungsfunktionen erfordern.

Welche Verbesserungen wurden beim Debugging in Blazor .NET 8.0 vorgenommen?

Blazor .NET 8.0 verbessert das Debugging für WebAssembly-Apps mit erweiterten Symbol-Daten-Downloads und zusätzlicher Unterstützung für Firefox, was den Debugging-Prozess vereinfacht.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der führend in der C# PDF-Technologie ist. Als ursprünglicher Entwickler der Iron Software-Kerncodebasis hat er die Produktarchitektur des Unternehmens seit seiner Gründung gestaltet und zusammen mit CEO Cameron Rimington in ein Unternehmen ...

Weiterlesen