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