# .NET MAUI

.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.
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.
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:
* Windows (ab Version 10, Update 1809)
* macOS (ab Version 10.13 und 11 für hybride Apps)
* iOS (ab Version 10 und ab Version 14 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)