Was ist Blazor Server ?

Blazor Server ist eine der beiden Varianten von ASP.NET Blazor.
Alias "Server Side Blazor"
Alias " Blazor Interactive Server Side Rendering"
Alias "Out of Process Execution" (vgl. [github.com/aspnet/AspNetCore/issues/15934])

Bei der Erstankündigung im März 2018 hatte Microsoft zunächst nur Blazor auf Basis von WebAssembly vorgestellt. Am 10. August 2018 in Preview 0.5 folgte dann das Modell dann um Server-Side-Blazor ergänzt.

Diese Blazor-Variante ist am 23.9.2019 als Teil von ASP.NET Core 3.0 erschienen und wird am 3.12.2019 (geplant) auch als Teil von ASP.NET Core 3.1 in einer aktualisierten Form erscheinen. Eine Blazor Server-Anwendung läuft nicht auf Basis von WebAssembly im Browser, sondern – wie der Name auch ausdrückt – auf dem Webserver in einem ASP.NET Core-Prozess auf der .NET Core Runtime. Dass der Benutzer dennoch das Erlebnis einer Single-Page-Web-Application bekommt, liegt am Einsatz von ASP.NET Core SignalR, das die Benutzerinteraktionen mit der Webseite per Websocket zum Server sendet und die auf dem Server vorgenommenen Änderungen am Document Object Model (DOM) zum Browser überträgt. Das dazu notwendige Virtual DOM auf dem Webserver für jeden angeschlossenen Browser schränkt allerdings die Skalierbarkeit ein und verhindert die Offline-Fähigkeit der Anwendung.

Beim Erscheinen gab es von Blazor Server viele Lästermäuler, die dieser Architektur keine Chance gaben. Die Praxis zeigt aber: Das funktioniert gut, solange die Internetverbindung stabil ist (also im LAN/WLAN, im deutschen Mobilfunknetz bekanntlich nicht überall) und die Anzahl der gleichzeitigen Nutzer (die sich ja nicht nur die Server-CPUs, sondern auch das Server-RAM teilen) angemessen ist im Vergleich zur Potenz des Servers bzw. der Serverfarm.

Eigenschaften von Blazor Server

  • Hersteller: Microsoft
  • Enthalten in ASP.NET Core 3.0 seit Preview 2
  • Code läuft auf Server: .NET Core, C#, ASP.NET Core, Razor-Templates
  • Client: HTML, CSS, etwas JavaScript von Microsoft, optional eigenes JavaScript
  • Component = .razor-Datei, optional mit .razor.cs
  • Component Packages, auch mit Templated Components
  • Server hat ein Virtual-DOM des Browserinhalts für jeden angeschlossenen Webbrowser
  • Einzelne UI-Updates per ASP.NET SignalR (über Websockets)
  • "SPA light" (SPA-UI-Erlebnis)
  • Interaktion mit JavaScript/TypeScript + Zugriff auf Browser-APIs möglich
  • Nicht offline-fähig

Alternativen zu Blazor Server

Beratung & Support

Schulungen

Anfrage für eine individuelle Schulung zum Thema BLAZOR SERVER Gesamter Schulungsthemenkatalog

Fachbücher

Alle unsere aktuellen Fachbücher E-Book-Abo für ab 99 Euro im Jahr