.NET MAUI, kurz für .NET Multi-platform App UI, ist ein Open-Source-Framework für die Entwicklung von Multi-Plattform-Anwendungen. Es erschien 2022 als Teil der Version 6 der Softwareplattform .NET, welche unter der Leitung von Microsoft entwickelt wird. Bei dem Framework handelt es sich um den Nachfolger von Xamarin.Forms.
Beschreibung Unter .NET MAUI lassen sich sowohl grafische Benutzeroberfläche (GUI) als auch Geschäftslogik einer App mit XAML und C# entwickeln, wobei die GUI für alle Plattformen einheitlich mit XAML-Dateien beschrieben wird. Dabei können allerdings auch plattformspezifische Steuerelemente genutzt werden. Somit besteht eine App aus einer gemeinsamen Codebasis für alle Zielplattformen – ein Konzept, das es auch bei Xamarin.Forms gibt. Im Unterschied zu diesem ist .NET MAUI aber nicht auf mobile Betriebssysteme beschränkt, sondern erlaubt als Zielplattformen auch die Desktop-Betriebssysteme Windows und Mac OS.Lars Behl, Eva-Maria Iwer: Einblicke in die Cross-Platform-Entwicklung mit .NET MAUI, in: Windows Developer Nr. 10/2022
Windows wurde zwar auch schon von Xamarin.Forms als Zielplattform unterstützt, jedoch hinsichtlich des Funktionsumfanges geringer als die beiden mobilen Betriebssysteme Android und iOS. Technologische Basis der Windows-Unterstützung war unter Xamarin.Forms die Universal Windows Platform. Unter .NET MAUI hingegen beruhen Windows-Apps auf WinUI 3, einem UI-Framework aus dem Windows App SDK. Indes kommt für Mac-Anwendungen, die unter .NET MAUI entwickelt werden, Mac Catalyst zum Einsatz, eine Software von Apple, mit der sich Anwendungen, die für das iPad entwickelt wurden, für den Mac neu kompilieren lassen.André Krämer: Paradiesische App-Entwicklung, in: Windows Developer Nr. 10/2022
Die Plattform .NET MAUI bietet eine Layout-Engine, die für die Gestaltung von Seiten genutzt werden kann. Diese Engine ermöglicht die Erstellung verschiedener Seitentypen, die die unterschiedlichsten Navigationselemente wie beispielsweise ausziehbare Menüs oder Navigationsleisten beinhalten. Ein weiteres Merkmal von .NET MAUI ist die integrierte Datenbindung, welche eleganter und leichter zu verwaltende Entwurfsmuster unterstützt. Es besteht die Flexibilität, Ereignis-Handler individuell anzupassen, um die Darstellung von Benutzeroberflächenelementen zu verbessern. Darüber hinaus bietet .NET MAUI plattformübergreifende APIs, die den Zugriff auf native Funktionen von Geräten ermöglichen. Diese APIs erlauben Anwendungen den Zugriff auf Funktionen wie GPS, Beschleunigungssensoren sowie Akku- und Netzwerkstatus. Die Plattform bietet auch eine plattformübergreifende Grafikfunktionalität, die einen Zeichenbereich bietet, der das Zeichnen und Malen von Formen und Bildern und grafische Objekttransformationen unterstützt.
Unterstützte Zielplattformen .NET MAUI ermöglicht die Entwicklung von Anwendungen für folgende Zielplattformen:Holger Schwichtenberg: .NET MAUI: Cross-Plattform-Apps, in: iX – Magazin für professionelle Informationstechnik Nr. 8/2022, S. 72 ff. Windows (ab Version 10, Update 1809) macOS (ab Version 12 mit MacOS Catalyst) iOS (ab Version 12.2 und ab Version 16.4 für hybride Apps) Android (ab Version 5.0/API 21 und Version 7.0/API 24 für hybride Apps) Tizen (ab Version 5.5)
Entwicklungswerkzeuge Visual Studio 2022, ab Version 17.3 (für die Zielplattformen Windows, iOS, macOS, Android) Visual Studio Code (lauffähig unter Windows, Linux, macOS) ehemalige Entwicklungswerkzeuge: Visual Studio für Mac, ab Version 17.3 (nur für die Zielplattformen iOS, macOS und Android) (bis August 2024)
Literatur Matt Goldman: .NET MAUI in Action, Manning Publications, Shelter Island 2023, ISBN 978-1633439405 André Krämer: Cross-Plattform-Apps mit .NET MAUI entwickeln, Carl Hanser Verlag, München 2022, ISBN 978-3446472617 Holger Schwichtenberg: .NET MAUI: Cross-Plattform-Apps, in: iX – Magazin für professionelle Informationstechnik Nr. 8/2022, S. 72 ff. Windows Developer Nr. 10/2022 Cross-Platform-Entwicklung mit .NET MAUI in Informatik Aktuell
Weblinks Produktseite bei dotnet.microsoft.com Dokumentation bei docs.microsoft.com
Einzelnachweise
Kategorie:.NET