Skip to main content
Juli 26, 2022

.NET MAUI: wachsende Geschäftsmöglichkeiten

Microsoft setzt mit .NET MAUI neue Maßstäbe für Multiplattform-Anwendungen. Wir werden Microsofts neues Framework unter die Lupe nehmen und sehen, welche Neuerungen es in Bezug auf Xamarin.Forms gibt, die es uns ermöglichen, produktiver zu sein und Anwendungen für MacOS zu entwickeln. Wir werden auch die neuen Möglichkeiten sehen, die sich beim Wechsel von .NET Standard zu .NET6 eröffnen. Alles mit dem Ziel, zu sehen, wie es uns hilft, die Entwicklungszeit und letztendlich die Kosten eines Produkts zu reduzieren.

Einführung

Die Entwicklungsindustrie unternimmt schon seit einiger Zeit große Anstrengungen, um das plattformübergreifende Ökosystem zu verbessern. Um ein paar Beispiele zu nennen, haben wir einerseits Frameworks wie Flutter, die sich sehr schnell weiterentwickeln und sogar Desktop und Web erreichen. Andererseits gibt es auch Kotlin Multiplattform, das darauf abzielt, die Anwendungslogik einmal zu schreiben und sie in verschiedenen Projekten zu verwenden.

Mit der Einführung von .NET 6 verstärkt Microsoft auch seine Bemühungen für mobile und Desktop-Anwendungen und hat .NET Multiplatform App UI (.NET MAUI) vorgestellt, ein Framework, das es uns ermöglicht, native Anwendungen für Android, IOS, MacOS und Windows mit C# und XAML zu entwickeln. Das heißt, ein einziges gemeinsames Code-Projekt zu haben, sowohl Logik als auch UI.

Was ist Maui

.NET MAUI ist Open Source und die Weiterentwicklung von Xamarin.Forms; es erhöht die Desktop-Unterstützung und verbessert die Leistung erheblich. Wenn Sie in Xamarin.Forms entwickelt haben, werden Sie feststellen, dass sie viele Gemeinsamkeiten haben, mit dem Unterschied, dass .NET MAUI die Zeit für die Verwendung von Ressourcen oder das Design von Benutzeroberflächen reduziert: Das .NET MAUI-Team hat sich darauf konzentriert, sicherzustellen, dass wir die Schnittstellendefinition nur einmal haben, sowie die Deklaration von Ressourcen wie Icons oder Schriftarten an einem einzigen Punkt.

Vom .NET Standard zu .NET6

.NET MAUI verwendet nicht nur .NET6, sondern ist Teil des .NET sdk und gehört zu den dotnet workloads.

Dies hat mehrere Auswirkungen. Auf geschäftlicher Ebene zeigt es Microsofts Engagement für die plattformübergreifende Entwicklung, indem es in .NET selbst und nicht als separates Produkt integriert wird. Auf technischer Ebene bedeutet es zum einen, dass die neuesten .NET-Funktionen wie HotReload, Leistungsverbesserungen, globale Verwendung usw. genutzt werden können. Zum anderen bedeutet es auch, dass wir mit allen .net6-Projekten kompatibel sind, z. B. eine Datenzugriffsbibliothek oder Modelle zwischen ASP.NET-Projekten, WPF oder jeder Technologie, die .net6 verwendet, ohne den .NET-Standard durchlaufen zu müssen, der einige Einschränkungen mit sich brachte, wenn es darum ging, die neuesten Vorteile des Frameworks zu nutzen.

Blazor

.NET MAUI ermöglicht es uns, eine Blazor-Webentwicklung innerhalb unserer Anwendung zu „hosten“. Auf diese Weise können wir von Blazor aus Dienste von jeder Plattform integrieren und nutzen.

Diese Integration kann vollständig (eine Webanwendung in Blazor wird in einer .NET MAUI-Anwendung „gehostet“) oder teilweise (ein oder mehrere Bildschirme der Anwendung werden in Blazor erstellt) sein.

Auf diese Weise können wir die bereits in Blazor entwickelten Anwendungen zu nativen Anwendungen für Mobilgeräte und Desktops weiterentwickeln und dabei denselben Quellcode verwenden. Andererseits bietet es Webentwicklern, die in Blazor entwickeln, die Möglichkeit, durch die Wiederverwendung ihres Wissens einen größeren Markt zu erreichen.

Microsoft hat ein gutes Beispiel für eine Blazor-Anwendung, die auf .NET MAUI gehostet wird:

Mehr Möglichkeiten, mehr Geschäft

Das wirklich Interessante an .NET MAUI ist, wie es Unternehmen helfen kann, die Kosten zu senken, was vielleicht der wichtigste Faktor bei der Wahl einer Technologie für die Entwicklung eines Produkts ist. Natürlich hängt dies vom technologischen Stack des Entwicklerteams und dessen Kenntnissen ab. Versuchen wir, die wichtigsten Punkte zu betrachten:

Teilung von Code und Ressourcen

Ein einziger Entwickler kann eine Anwendung für vier verschiedene Plattformen entwickeln und dabei dieselbe Logik und UI-Definition verwenden. Außerdem werden diese Entwicklungen parallel durchgeführt, d.h. es wird nicht erst eine Plattform und dann eine andere entwickelt, sondern gleichzeitig, da die Logik und die Benutzeroberfläche gemeinsam genutzt werden.

In .NET werden auch MAUI-Ressourcen wie Bilder, Schriftarten und andere gemeinsam genutzt, was ihre Verwendung und Konfiguration für alle Plattformen vereinheitlicht.

Wissen wiederverwenden

Durch die Verwendung von C# und XAML ist die Lernkurve, wenn man von WPF kommt, sehr klein; auch wenn man von ASP.NET kommt, wird einem alles sehr vertraut vorkommen, da die gleichen Tools verwendet werden, wie VS, so dass der Entwickler vom ersten Tag an viel produktiver sein wird, als wenn er eine neue IDE lernen muss.

Reducir problemas y disminuir tiempo en resolución de incidencias

Da sich die gesamte Logik Ihrer Anwendung an einem einzigen Punkt befindet, werden Probleme und die Kosten für die Anwendung dieser Änderungen oder Reparaturen minimiert. In einem Projekt, in dem der Server in Go und die Anwendungen in Kotlin (Android), Swift (iOS und MacOS) und WinUI (Windows) entwickelt werden, würde eine Änderung des Modells oder der Geschäftslogik bedeuten, dass die fünf Projekte mit verschiedenen Entwicklern und/oder ohne Parallelität geändert werden müssten.

Mit .NET MAUI können wir Modelle direkt mit dem Server austauschen, wenn es sich um .NET6 handelt, und durch eine Änderung in einer einzigen Klasse hätten wir das Problem auf dem Server, in Android, iOS, MacOS und Windows gelöst. Auf der Kostenebene ist das ein bemerkenswerter Unterschied.

Mehr Plattformen erreichen

.NET MAUI unterstützt offiziell MacOS, das Desktop-Betriebssystem von Apple. Das ist wichtiger, als es klingt: Es bedeutet nicht nur, dass unsere Anwendungen auf MacOS laufen, sondern es eröffnet einen neuen Marktanteil und mehr Geschäftsmöglichkeiten. Und ich spreche nicht nur von Mac.

In den letzten Jahren haben Webtechnologien Marktanteile gewonnen, und die Antwort ist ganz einfach: Alle gängigen Betriebssysteme (IOS, Android, Windows und MacOS) können über einen Browser auf die von dieser Software angebotenen Dienste zugreifen. .NET MAUI eröffnet die Möglichkeit, alle Kunden, die das Web erreichen, mit den Vorteilen nativer Anwendungen zu erreichen; auf diese Weise ist es eine interessante Alternative, die wir bei der Auswahl einer Technologie für unser nächstes Projekt unbedingt in Betracht ziehen sollten.

Nachteile

Bei einer vollständigen Analyse von .NET MAUI müssen wir auch über die Nachteile sprechen. Zunächst einmal handelt es sich um ein neues Produkt, das gerade erst veröffentlicht wurde, und obwohl die veröffentlichte Version stabil ist, fehlen noch einige wichtige Steuerelemente wie Karten. Obwohl sie in der Roadmap kurz vor der Veröffentlichung stehen, sind sie zum Zeitpunkt der Erstellung dieses Beitrags noch nicht verfügbar.

Die Erstellung gemeinsamer Benutzeroberflächen für Mobilgeräte und Desktops kann manchmal sehr komplex sein, da es sich um unterschiedliche Welten handelt. MAUI ist darauf ausgelegt, aber manchmal ist es schwieriger, Schnittstellen für Desktop und Mobile mit Benutzerinteraktionen zu erstellen, als sie separat zu entwickeln.

Beispiele für .NET MAUI

Es gibt mehrere Anwendungen, die mit .NET MAUI erstellt wurden und die wir zur Orientierung, für bewährte Verfahren und zur Veranschaulichung der Plattform nutzen können.

Vor ein paar Monaten wurde die GA-Version von .NET MAUI offiziell vorgestellt und mit ihr eine Anwendung, an deren Entwicklung Plain Concepts mitgewirkt hat. Hier ist ein Link zu dieser Anwendung und anderen, die mit der Plattform entwickelt wurden. Außerdem stehen Ihnen weitere Beispiele für .NET MAUI zur Verfügung, sowohl offizielle als auch von der Community erstellte: