Sie sind hier:
Wissen
Telefon (Mo-Fr 9 bis 16 Uhr):
0201/649590-0
|
Kontaktformular
Buy me a coffee
MENU
Medien
Übersicht
Lexikon/Glossar
Spickzettel
Weblog
Konferenzvorträge
Fachbücher
Fachartikel
Leserportal
Autoren gesucht!
Literaturtipps
Praxisnahe Fallbeispiele
Downloads
Newsletter
.NET
Startseite
.NET 8.0
.NET 7.0
.NET 6.0
.NET 5.0
.NET Core
.NET 4.0/4.5.x/4.6.x
.NET 3.0/3.5
.NET 2.0
.NET-Lexikon
Entwicklerwerkzeuge
Klassenreferenz
Softwarekomponenten
Windows Runtime
World Wide Wings-Demo
Versionsgeschichte
Codebeispiele
ASP.NET
Artikel
Bücher
Schulung & Beratung
Konferenzen/Events
ASP.NET
Startseite
Lexikon
Sicherheit
Konfiguration
Global.asax
Tracing
Technische Beiträge
Klassenreferenz
Entwicklerwerkzeuge
Softwarekomponenten
Forum
Schulung & Beratung
PowerShell
Startseite
Commandlet-Referenz
Codebeispiele
Commandlet Extensions
Versionsgeschichte
Schulungen+Beratung
Windows
Startseite
Windows Runtime (WinRT)
Windows PowerShell
Windows Scripting
Windows-Schulungen
Windows-Lexikon
Windows-Forum
Scripting
Startseite
Lexikon
FAQ
Bücher
Architektur
Skriptsprachen
Scripting-Hosts
Scripting-Komponenten
COM/DCOM/COM+
ADSI
WMI
WMI-Klassenreferenz
Scripting-Tools
WSH-Editoren
Codebeispiele
.NET-Scripting
Forum
Schulung & Beratung
Nutzer
Anmeldung/Login
Buchleser-Registrierung
Gast-Registrierung
Hilfe
Website-FAQ
Technischer Support
Site Map
Tag Cloud
Suche
Kontakt
Erklärung des Begriffs: .NET Multi-Platform App UI (MAUI)
Begriff
.NET Multi-Platform App UI
Abkürzung
MAUI
Eintrag zuletzt aktualisiert am
19.02.2025
Zur Stichwortliste unseres Lexikons
Was ist
.NET Multi-Platform App UI
?
.NET Multi-Platform App UI (MAUI) ist ein Framework für
Cross-Platform
-Apps im modernen .NET.
Termine
Ankündigung auf der
Microsoft BUILD-Konferenz
Mai 2020.
23. Mai 2022: erste Version erschienen
Seitdem jeden November neues Release zusammen mit dem modernen .NET
Namensräume
XAML
-Namensraum:
http://schemas.microsoft.com/dotnet/2021/maui
.NET-Namensraum: Microsoft.Maui
Details
Der sperrige Name .NET Multi-Platform App UI (kurz: MAUI) steht für das neuste
GUI
-Framework von Microsoft. Dabei ist MAUI nicht komplett neu, sondern ein
Refactoring
und eine Weiterentwicklung des
Cross-Platform
-
GUI
-Frameworks
Xamarin.Forms
. Die Basis ist nun das moderne .NET SDK, zur Laufzeit kommt jedoch nicht immer die neuste
.NET Core Runtime
, sondern im Fall von
Android
und den
Apple
-Betriebssystemen weiterhin die
Mono
Runtime zum Einsatz. Der neue .NET-Namensraum ist Microsoft.Maui (vorher:
Xamarin.Forms
).
MAUI-Anwendungen laufen auf Windows (via
WinUI3
), macOS (via .NET for
Mac Catalyst
),
iOS
(via .NET for
iOS
),
Android
(via .NET for
Android
) und Tizen (diese Implementierung kommt von Samsung, siehe
https://docs.tizen.org/application/dotnet/).
Den
Linux
-Desktop lässt Microsoft leider außen vor. Auf GitHub findet man nur eine experimentelle Portierung eines Microsoft-Mitarbeiters Javier Suárez. Das zugehörige GitHub-Issue, das eine
Linux
-Desktop-Portierung fordert
https://github.com/dotnet/maui/discussions/339
, hat hunderte Kommentare, aber den Status "Unanswered".
Während
Xamarin.Forms
stark auf die Mobilbetriebssysteme ausgerichtet war, gibt es in .NET MAUI auch Features speziell für die Desktop-Betriebssysteme wie Multi-Window-Unterstützung, Tastatur-Shortcuts für Menüs (seit Version 8.0), Steuerung der Titelleiste (seit Version 9.0).
Mit MAUI kann man aus einem einzigen Projekt heraus Kompilate mit
Multi-Targeting
für alle unterstützten Betriebssysteme erzeugen. Mit bedingter Kompilierung können Entwicklerinnen und Entwickler plattformspezifischen Programmcode einbringen. Mehrere Kopfprojekte wie beim Vorgänger
Xamarin.Forms
sind aber auch bei MAUI noch möglich.
Voraussetzung für die Übersetzung für eine Zielplattform ist die Installation eines entsprechenden
.NET SDK Workload
s auf dem Entwicklungsrechner. Auf Windows-Rechnern kann man für alle Zielsysteme entwickeln; beim Übersetzen für das
Apple
-Betriebssystem braucht man aber zusätzlich einen Mac-Computer mit
XCode
für einen Remote Build sowie ein
Apple
-Entwicklerkonto.
Die erste Version von .NET MAUI ist am 23. Mai 2022 als Nachtrag zu
.NET 6.0
erschienen. Die Versionsnummer von MAUI ist an .NET angeglichen, d.h. in
.NET 9.0
gibt es die vierte Version von MAUI mit der Versionsnummer 9.0.
Die ersten beiden Releases (6.0 und 7.0) von .NET MAUI waren für Entwicklerinnen und Entwickler eine Herausforderung, weil das Entwicklungserlebnis und die Performance oft mangelhaft waren und einige
Steuerelement
e auch Bugs zur Laufzeit hatten. In den letzten Versionen hat das MAUI-Entwicklungsteam aber viel daran getan, sodass MAUI jetzt besser einsetzbar ist. Entwicklerinnen und Entwickler, die mit
Xamarin.Forms
gearbeitet haben, mussten zwangsweise auf MAUI umsteigen, denn der Support endete am 1. Mai 2024. Abhängig von den verwendeten Features ist Einiges zu tun, aber der .NET Upgrade Assistant hilft, siehe
https://learn.microsoft.com/de-de/dotnet/maui/migration/upgrade-assistant.
Beim Support unterscheidet sich .NET MAUI von
Windows Forms
und
WPF
. Bei
Windows Forms
und
WPF
ist der Support jeweils an den Support der .NET-Version gebunden:
Für das klassische .NET Framework in den Versionen 4.7 bis 4.8.1 gibt es kein Support-Ende
https://learn.microsoft.com/de-de/lifecycle/products/microsoft-net-framework.
Gemäß der Fixed Lifecycle-Richtlinie beträgt der Support "mindestens" fünf Jahre entsprechend der Support-Dauer des Windows-Betriebssystems, mit dem die .NET-Version geliefert wurde, siehe
https://learn.microsoft.com/de-de/lifecycle/policies/fixed.
.NET Framework 4.7
vom 11. April 2017 hat aber immer noch Support.
Im modernen .NET haben
WPF
und
Windows Forms
in den geraden Hauptversionen Support für 36 Monate und in den ungeraden Hauptversionen für 18 Monate (z.B.
.NET 9.0
)
.NET MAUI bekommt jedoch leider immer nur 18 Monate Support, auch in den geraden Versionsnummer. Nutzerinnen und Nutzer von MAUI müssen daher mindestens alle 18 Monate die Anwendung neu kompilieren und verteilen.
.NET MAUI verwendet wie
WPF
und
WinUI3
ebenfalls die
eXtensible Application Markup Language
(
XAML
) zur Oberflächenbeschreibung. Die
XAML
-Syntax bietet eine UI-Abstraktion und wird von MAUI dann zur Laufzeit in native
Steuerelement
e der Zielplattform gerendert, z.B. unter Windows werden dann
WinUI3
-
Steuerelement
e verwendet. Das Look & Feel von MAUI ist modern und lässt sich wie in
XAML
üblich gut anpassen. Animationen und Transformationen gibt es in MAUI-
XAML
auch, aber nicht alle Möglichkeiten, wie man sie aus
WPF
und
WinUI3
kennt. Multimedia-Features sind vorhanden, erfordern aber teilweise die Nutzung plattformspezifischer
API
s. Die Unterstützung für Eingabevalidierung ist in MAUI ebenso unbefriedigend wie in
WinUI3
, d.h. man muss vieles selbst machen, was
WPF
von Hause aus kann.
Die MAUI-
XAML
-Syntax und die
Steuerelement
e in MAUI sind deutlich anders. So gibt es in MAUI zum Beispiel das
Steuerelement
<Entry> anstelle des in
WPF
und
WinUI3
verwendeten Tags <
TextBox
>. Ebenso verwendet man in MAUI <
Label
> statt <TextBlock>. .NET MAUI kann seit
.NET 9.0
auch kompilierte
Datenbindung
en, aber nicht wie in
WinUI3
mit x:Bind in der einzelnen Bindung, sondern mit x:DataType auf Ebene der Seite.
Es gibt aber – wie bei
WinUI3
– ein Community Toolkit:
https://github.com/CommunityToolkit/Maui.
Dort gibt es wenige zusätzliche
Steuerelement
e wie Expander, Popup, AvatroView, Map, MediaElement und CameraView. Aber weder im Standard von MAUI noch im MAUI Community Toolkit liefert Microsoft ein DataGrid oder Diagramme; auch bei MAUI kauft man also in vielen Praxisprojekten noch eine
Komponente
nbibliothek von Drittanbietern.
Als
Programmiersprache
kann man in MAUI ausschließlich C# verwendet, während die Windows-gebundenen Konkurrenten
Windows Forms
,
WPF
und
WinUI3
auch mit
Visual Basic .NET
, F# und C++ bzw.
C++/CLI
möglich sind. Es gibt keinen
WYSIWYG
-Designer für MAUI, aber den
XAML
Live Preview in
Visual Studio
und Hot Reloading. Das
Debugging
einer MAUI-Anwendung im
Android
-Emulator ist aber immer noch eine Angelegenheit, bei der der Geduldsfaden reißen kann, auch wenn man einen sehr teuren Entwicklerrechner mit vielen Kernen und viel RAM besitzt.
Beim Deployment erzeugt .NET MAUI entsprechende Installationspakete, die alle notwendigen Abhängigkeiten auf dem Zielsystem beinhalten, also z.B. auf Windows ein
MSIX
-Paket mit der
Windows App Runtime
für
WinUI3
. Das Deployment geht (wie bei
Windows Forms
,
WPF
und
WinUI3
auch) sowohl per
Visual Studio
als auch per Kommandozeile (und damit auch per
DevOps
-
Pipeline
).
AOT
-Kompilierung ist möglich für
iOS
- und macOS-Anwendungen. Bereits seit .NET MAUI 8.0 ist der Native
AOT
-
Compiler
anstelle des
Mono
AOT
-
Compiler
s für
iOS
- und macOS-Anwendungen experimentell verfügbar. In
.NET 9.0
gilt diese Native
AOT
-Kompilierung als stabil.
Komponente
nanbieter für .NET MAUI
Hersteller | Produktname | Webadresse
Microsoft | .NET MAUI Community Toolkit |
https://learn.microsoft.com/de-de/dotnet/communitytoolkit/maui/get-started
Syncfusion | .NET MAUI controls |
https://www.syncfusion.com/maui-controls
DevExpress | .NET MAUI Controls |
https://www.devexpress.com/maui/
Telerik | UI for .NET MAUI |
https://www.telerik.com/maui-ui
MESCIUS (vormals GrapeCity) | Component
One .NET
MAUI Edition |
https://www.grapecity.com/componentone/net-maui
Querverweise zu anderen Begriffen im Lexikon
eXtensible Application Markup Language (XAML)
Microsoft BUILD-Konferenz (BUILD)
Windows App Runtime
Programmiersprache
.NET Framework 4.7 (.NET 4.7)
Visual Basic .NET (VB.NET)
.NET Core Runtime
.NET SDK Workload
Multi-Targeting
Cross-Platform
Windows Forms (WinForms)
Visual Studio (VS)
Xamarin.Forms
Steuerelement
Datenbindung
Mac Catalyst
Refactoring
Komponente
Debugging
.NET 6.0 (.NET 6)
Pipeline
Compiler
One .NET
.NET 9.0 (.NET 9)
C++/CLI
Android
TextBox
DevOps
Apple
XCode
Linux
Label
Mono
iOS
What You See Is What You Get (WYSIWYG)
Windows UI Library 3 (WinUI3)
eXtensible Application Markup Language (XAML)
MSIX Windows Application Packaging (MSIX)
Ahead-of-Time-Compilation (AOT)
Application Programming Interface (API)
Windows Presentation Foundation (WPF)
Graphical User Interface (GUI)
Beratung & Support
Beratung/Consulting: Design und Usability ("User Experience - UX") von XAML-Anwendungen (WPF, UWP, WinUI, Xamarin, MAUI)
Beratung/Consulting: Benutzerschnittstellentechnik auswählen (UI-/Frontend-Techniken)
Anfrage für Beratung/Consulting zu .NET Multi-Platform App UI MAUI
Gesamter Beratungsthemenkatalog
Technischer Support zum .NET Multi-Platform App UI MAUI
Schulungen zu diesem Thema
.NET Multi-Platform App UI (MAUI)
Umstieg auf .NET Multi-Platform App UI (MAUI) (Umstellung/Migration von Xamarin Forms-Apps auf .NET MAUI)
.NET Akademie: .NET MAUI: .NET-/C#-Cross-Plattform-Entwicklung für Android, iOS (iPhone, iPad) und Windows (3-Tages-Agenda des öffentlichen Seminars)
.NET-Entwickler-Update 2023
.NET-Entwickler-Update 2022
.NET-Entwickler-Update 2024
.NET-Entwickler-Update 2025
Extensible Application Markup Language (XAML)
.NET 6.0 - Änderungen und Neuerungen gegenüber .NET 5.0
Prism - Composite UI Framework für WPF
Apps für iOS (iPhone und iPad) entwickeln mit XCode und Objective-C
Application Insights (Überwachung/Monitoring von Software/Telemetriedaten)
Entity Framework Core 8.0/9.0 (EF Core 8.0/9.0): Objekt-Relationales Mapping (ORM) für .NET 8.0/9.0 (komplettes Wissen)
Windows Presentation Foundation (WPF) - Basiswissen
Avalonia - Cross-Plattform-GUI-Anwendungen mit .NET und XAML
Objektorientierte Entwurfsmuster (Design-Pattern/Architektur-Pattern) mit .NET (C#, Visual Basic .NET)
.NET 9.0 - Änderungen und Neuerungen gegenüber .NET 8.0
.NET-Überblick für .NET-Einsteiger und .NET-Entscheider (wahlweise für das klassische .NET Framework und/oder das moderne .NET)
.NET Akademie: Blazor-Hands-On: Echte Single-Page-Web-Apps mit .NET und C# entwickeln (3-Tages-Agenda des öffentlichen Seminars)
.NET 8.0 - Änderungen und Neuerungen gegenüber .NET 7.0
Uno Platform - Cross-Plattform-GUI-Anwendungen mit .NET und XAML
Umstieg auf .NET 8.0/9.0 - Entwicklerworkshop mit allen Anwendungsgebieten (Umstellung/Migration von klassischem .NET Framework zu .NET 6.0/8.0/9.0)
.NET und C# für Umsteiger von Java
Moderne Web-Anwendungen mit Blazor (Blazor United und/oder Blazor SSR und/oder Blazor WebAssembly und/oder Blazor Server und/oder Blazor Hybrid)
.NET Akademie: Datenbankprogrammierung mit Entity Framework Core (3-Tages-Agenda des öffentlichen Seminars)
Android-App-Entwicklung mit Java (Android-Programmierung mit Java)
ASP.NET Core 9.0 - Änderungen und Neuerungen gegenüber ASP.NET Core 8.0
Microsoft 365 für Softwareentwickler (Microsoft 365 Development)
Unit Testing / Testgetriebene Entwicklung / Test Driven Development (TDD) mit den Microsoft Testwerkzeugen in Visual Studio
Cross-Plattform-Entwicklung mit Cross-Plattform-Tools im Vergleich
Anfrage für eine individuelle Schulung zum Thema .NET Multi-Platform App UI MAUI
Gesamter Schulungsthemenkatalog
Bücher zu diesem Thema
Cross-Plattform-Apps mit .NET MAUI entwickeln
App-Entwicklung für Mobile und Desktop: Software Engineering mit .NET MAUI und Comet für iOS, Android, Windows und macOS
Cross-Plattform-Apps mit .NET MAUI entwickeln
App Engineering: SwiftUI, Jetpack Compose, .NET MAUI und Flutter
Alle unsere aktuellen Fachbücher
E-Book-Abo für ab 99 Euro im Jahr