Blazor Hybrid
Eintrag zuletzt aktualisiert am: 19.02.2025
Blazor Hybrid ist eine Variante von
ASP.NET Core Blazor. Seit
.NET 6.0 gibt es neben
Blazor WebAssembly und
Blazor Server auch Blazor Hybrid zur Erstellung hybrider Apps. Blazor Hybrid umfasst
Blazor Desktop und
Blazor MAUI.
Blazor Hybrid ist der Oberbegriff für drei Möglichkeiten, Blazor-Anwendungen in native Anwendungen zu integrieren
Details zu Blazor Hybrid
Bei Blazor Hybrid läuft die Blazor-Anwendung in einer nativen Anwendung direkt auf dem Betriebssystem. Microsoft unterstützt hier als Host-Frameworks
Windows Forms (für Windows),
Windows Presentation Foundation (für Windows) sowie .NET MAUI (für Windows,
Android,
iOS und macOS). Blazor in
WPF und
Windows Forms wird auch
Blazor Desktop genannt, Blazor in .NET MAUI auch
Blazor MAUI. Die Blazor-Anwendung wird mit ihrer
HTML-/
CSS-basierten Oberfläche im WebView-
Steuerelement der jeweiligen Plattform gehostet und hat alle Zugänge zu Ressourcen,
Netzwerk und
APIs wie eine native Anwendung.
Bei Blazor Hybrid läuft die Blazor-Anwendung dabei nicht in einem
Webserver und auch nicht einer Webassembly-VM, sondern im gleichen .NET-Prozess und sogar im gleichen
Thread wie die Desktop- bzw. Mobil-Anwendung. Es gibt also keine Prozesstrennung wie bei
Electron und damit auch keine Notwendigkeit des expliziten Nachrichtenverkehrs. In
Blazor Desktop übernimmt die Kommunikation zwischen dem .NET Code im Host und dem WebView-
Steuerelement ein "Native Interop
Channel", dessen Arbeit für die Entwickler völlig unsichtbar ist. Bei Blazor Hybrid kommt also weder ein Web
API (wie bei
Blazor WebAssembly) noch SignalR (wie bei
Blazor Server) zum Einsatz.
Alle .NET-
APIs können in Blazor Hybrid direkt aufgerufen werden. Wie bei
Blazor Server hat der Programmcode in Blazor Hybrid vollen Zugriff auf alle Ressourcen des Betriebssystems.
Blazor Desktop kann also auch
Datenbankmanagementsysteme direkt ansprechen – sofern das Betriebssystem dies unterstützt. Das ist in Windows möglich, auf
Android und
iOS aber nicht, weil es dort die passenden Treiber nicht gibt. Auf Mobilbetriebssystemen kann man nur lokale Datenbanken (meist
SQLite) ansprechen.
Die verfügbaren
Steuerelemente sind die gleichen wie bei
Blazor Server und
Blazor WebAssembly. Einen Designer gibt es für Blazor Hybrid nicht. Wenn man einen BlazorWebView in einem
Windows Forms- oder
WPF-Fenster einbettet, sieht man in den jeweiligen Designern nur einen leeren Kasten, der erst zur Laufzeit gefüllt wird.