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.