Auto-Rendering-Modus

Eintrag zuletzt aktualisiert am: 28.11.2023

Das Webframework Blazor gibt es seit Version 3.1 des modernen .NET, das damals noch ".NET Core" hieß. Vor .NET 8.0 hatten Entwicklerinnen und Entwickler für Single-Page-Webanwendungen die Qual der Wahl zwischen Blazor Server und Blazor WebAssembly, die sich aufgrund der Vor- und Nachteile beider Architekturen in einigen Praxisfällen wie die Wahl zwischen Pest und Cholera anfühlte. Behelfen konnte man sich, in dem man eine Webanwendung in beiden Architekturen anbot https://www.heise.de/hintergrund/Blazor-Entwicklung-Komponenten-die-immer-passen-9297727.html für verschiedene Nutzergruppen oder Standorte.

.NET 8.0 erlaubt nun, beide Architekturen in einer einzigen Webanwendung zu vereinen. Der neue Rendering-Modus "Auto" rendert eine Webanwendung in drei Stufen: Zunächst findet ein Pre-Rendering mit Blazor SSR auf dem Webserver statt. Dann erfolgt eine Hydrierung der Seite per JavaScript und Blazor Server mit Interaktivität per Websocket-Verbindung. Nachdem im Hintergrund die umfangreichen Dateien für Blazor WebAssembly nachgeladen wurden, geht die Webanwendung schließlich zum rein lokalen Rendering im Browser über und beendet die Websocket-Verbindung. Im Rahmen der Vorschauphase von .NET 8.0 nannte Microsoft diesen Automatismus noch "Blazor United".

Der Auto-Render-Modus setzt immer eine 3-Tier-Architektur mit Application Server voraus. Denn während in den ersten beiden Phasen ein direkter Zugriff vom Webserver auf Ressourcen wie Datenbankmanagementsysteme möglich wäre, steht im Endstadium innerhalb des Webbrowsers nur noch eine Kommunikation über HTTP(S) zur Verfügung.