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 integrierenDetails 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 WebAPI (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.