Blazor MAUI

Eintrag zuletzt aktualisiert am: 19.02.2025

Blazor MAUI bezeichnet die Einbettung einer Blazor-Anwendung via BlazorWebView in eine .NET MAUI-Anwendung, welche auf Windows, Android, iOS, macOS, tvOS und Tizen läuft. Eine Implementierung für den Linux-Desktop ist als Community-Projekt in Arbeit [https://github.com/jsuarezruiz/maui-linux]. Es ist offen, ob es eine offizielle Linux-Desktop-Implementierung von Microsoft geben wird.

Die erste Version von .NET MAUI (inkl. Blazor MAUI) war nicht Teil des .NET 6.0-Release im November 2021, sondern ist erst am 23.5.2023 nachgeliefert worden.

Einsatz von Blazor MAUI

Ein Cross-Platform-Projekt auf der grünen Wiese mit einer Blazor MAUI-Anwendung zu beginnen, ist ein gängiges Szenario, denn diese Architektur ist die einzige von Microsoft gebotene Möglichkeit, mit einer Codebasis native Apps und den Webbrowser als Plattform zu verwenden. Das geht allerdings nicht in einem einzigen Projekt, sondern man braucht jeweils ein MAUI-Kopfprojekt für die nativen Apps und ein Blazor-Kopfprojekt für den Browser. Die eigentliche Anwendung steckt in einer gemeinsamen genutzten Razor Class Library. Diese Architektur ist seit der Einführung von MAUI im Mai 2022 möglich; vor .NET 9.0 musste man sich allerdings ein solches Projekt selbst zusammenbauen. Seit .NET 9.0 gibt es nun von Microsoft dafür eine eigene Projektvorlage mit Namen ".NET MAUI Blazor Hybrid and Web App". Es entstehen sogar vier Projekte, wenn man für das Webprojekt Blazor WebAssembly oder den Auto-Render-Modus wählt, weil man dann für die Webfassung zwei Projekte braucht: Eins für den Webserver (zum Pre-Rendering mit Blazor Static Server Side Rendering bzw. Blazor Server) sowie eins für den Browser mit Blazor WebAssembly.

Alternativen zu Blazor MAUI