28. September 2023

Neue MAUI-Unterstützung und Templates

Kurze Einführung

.NET MAUI (Multi-platform App UI) ist ein plattformübergreifendes Framework für die Entwicklung nativer Mobil- und Desktop-Anwendungen. Es ist eine Weiterentwicklung des Frameworks Xamarin.Forms und Teil des .NET-Ökosystems. Mit .NET MAUI können Entwickler Code einmal schreiben und auf mehreren Plattformen bereitstellen, darunter iOS, Android, Windows und weitere.

Hier einige zentrale Funktionen und Konzepte von .NET MAUI:

  • Plattformübergreifende Entwicklung: Mit .NET MAUI schreiben Entwickler eine einzige Codebasis in C# und XAML (in manchen Fällen auch mit Blazor für webbasierte Komponenten) und zielen damit auf mehrere Plattformen ab. Das reduziert den Entwicklungsaufwand für Anwendungen auf unterschiedlichen Betriebssystemen erheblich.

 

  • Einheitliche Projektstruktur: .NET MAUI verwendet eine einzige Projektstruktur für alle Plattformen, sodass keine separaten Projekte je Plattform nötig sind. Das vereinfacht Entwicklung und Wartung.

 

  • Plattformspezifische Anpassungen: Obwohl der Großteil des Codes gemeinsam genutzt wird, können Entwickler mit .NET MAUI bei Bedarf plattformspezifische Anpassungen vornehmen. So lassen sich Benutzeroberfläche und Funktionalität der App an die Besonderheiten jeder Plattform anpassen.

 

  • .NET-7-Integration: .NET MAUI ist eng mit .NET 7 integriert, der neuesten stabilen Version des .NET-Frameworks. Dadurch steht eine Vielzahl von Bibliotheken, Werkzeugen und Funktionen des .NET-Ökosystems zur Verfügung.

 

  • XAML für die Benutzeroberfläche: .NET MAUI nutzt XAML (eXtensible Application Markup Language) zur Definition der Benutzeroberfläche. XAML ist eine Auszeichnungssprache, mit der Entwickler Struktur und Erscheinungsbild der UI deklarativ festlegen.

 

  • MVVM-Muster (Model-View-ViewModel): .NET MAUI fördert den Einsatz des MVVM-Musters, um die Anwendungslogik von der Benutzeroberfläche zu trennen. Das verbessert Wartbarkeit und Testbarkeit des Codes.

 

  • Hot Reload: .NET MAUI bietet eine Hot-Reload-Funktion, mit der Entwickler Änderungen an Code oder UI vornehmen und die Ergebnisse sofort in der laufenden Anwendung sehen können, ohne neu kompilieren oder bereitstellen zu müssen.

 

  • Barrierefreiheit: Funktionen für Barrierefreiheit sind in .NET MAUI integriert. Das erleichtert Entwicklern die Erstellung inklusiver Apps, die auch von Menschen mit Behinderungen genutzt werden können.

 

  • Community und Ökosystem: .NET MAUI profitiert von den bestehenden Entwickler-Communitys und Ökosystemen von .NET und Xamarin und bietet damit Zugang zu einer Fülle von Bibliotheken, Werkzeugen und Ressourcen.

 

Weitere Informationen zur MAUI-Plattform finden Sie hier.

 

Neues MAUI-Template

In diesem neuen Evergine-Release finden Sie im Evergine Launcher ein brandneues MAUI-Template-Projekt.

Sobald Sie mit diesem neuen Template ein Evergine-Projekt erstellt haben, können Sie ganz einfach ein einzelnes MAUI-Profilprojekt erzeugen, das sich für Windows, Android und iOS kompilieren und bereitstellen lässt.

Um die MAUI-Solution aufzurufen, öffnen Sie sie einfach über das Menü „File“ in Evergine Studio.

Wenn Sie die MAUI-Solution in Visual Studio öffnen, finden Sie zwei Projekte in der Solution. Das erste ist Ihr Evergine-Projekt, das zweite das MAUI-Projekt, das auf das Evergine-Projekt verweist.

Im MAUI-Projekt finden Sie den Ordner „Platform“ mit plattformspezifischen Ressourcen wie den Dateien Android Manifest und Info.plist. Im Ordner Evergine wiederum finden Sie das Steuerelement EvergineView. Dieses Steuerelement lässt sich nahtlos in Ihre XAML-Seiten einfügen, sodass Sie einen Evergine-Canvas zum Rendern Ihrer 3D-Szenen einbinden können.

Um Ihr Projekt auf verschiedenen Plattformen bereitzustellen, verwenden Sie einfach die Schaltfläche „Run/Deploy“ in Visual Studio. Beachten Sie, dass Sie für die Bereitstellung unter iOS Visual Studio mit einem Mac verbinden und ein iOS-Gerät (iPad oder iPhone) an Ihren Mac anschließen müssen.

Nach der Bereitstellung Ihres Projekts aus Ihrer MAUI-Solution erhalten Sie ein ähnliches Ergebnis wie im obigen Beispiel. Es zeigt eine einfache XAML-Seite in MAUI mit einem Label und einer EvergineView. Dies ist nur ein Beispiel – Sie haben die kreative Freiheit, mit den neuesten .NET-Technologien und Evergine außergewöhnliche Projekte umzusetzen.

Ausblick

Das aktuelle MAUI-Template verwendet die stabile Version von .NET 7. Sobald Microsoft im November die stabile Version von .NET 8 veröffentlicht, werden wir das MAUI-Template auf .NET 8 aktualisieren, damit Sie die neuesten Verbesserungen und Funktionen nutzen können.

Jorge Canton
Autor
Jorge Cantón
Plain Concepts Research