Eine MAUI App erstellen

Cross-Platform Application Development mit .NET MAUI

.NET MAUI (Multi-platform App UI) ist ein Framework von Microsoft, das es ermöglicht, plattformübergreifende Anwendungen für Android, iOS, macOS und Windows zu entwickeln. Ich kann dir helfen, eine einfache MAUI-App zu erstellen und die grundlegenden Schritte zu erklären.

Voraussetzungen

1. Visual Studio 2022: Stelle sicher, dass du die neueste Version von Visual Studio 2022 installiert hast.
2. .NET MAUI Workload: Installiere die .NET MAUI-Workload, wenn du sie noch nicht hast. Du kannst dies über den Visual Studio Installer tun.

Projekt erstellen

1. Neues Projekt erstellen:
– Öffne Visual Studio 2022.
– Gehe zu „Datei“ > „Neues Projekt“.
– Wähle „MAUI App“ aus und klicke auf „Weiter“.
– Gib deinem Projekt einen Namen und wähle einen Speicherort.
– Klicke auf „Erstellen“.

2. Projektstruktur verstehen:
MainPage.xaml: Hier definierst du die Benutzeroberfläche deiner Hauptseite.
MainPage.xaml.cs: Die zugehörige Code-Behind-Datei für die Logik deiner Hauptseite.
App.xaml und App.xaml.cs: Diese Dateien enthalten globale Anwendungsressourcen und -logik.
Plattform-spezifische Ordner: Diese Ordner enthalten plattformspezifische Konfigurationen und Dateien.

Eine einfache Benutzeroberfläche erstellen

1. MainPage.xaml bearbeiten:

    <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
                xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                x:Class="YourAppNamespace.MainPage">

       <StackLayout>
           <Label Text="Welcome to .NET MAUI!"
                  VerticalOptions="CenterAndExpand" 
                  HorizontalOptions="CenterAndExpand" />

           <Button Text="Click Me" 
                   Clicked="OnButtonClicked"/>
       </StackLayout>

   </ContentPage>

2. Ereignishandler im Code-Behind hinzufügen:
Öffne die Datei MainPage.xaml.cs und füge den Ereignishandler für den Button hinzu:

namespace YourAppNamespace
   {
       public partial class MainPage : ContentPage
       {
           public MainPage()
           {
               InitializeComponent();
           }

           private void OnButtonClicked(object sender, EventArgs e)
           {
               DisplayAlert("Button Clicked", "Hello from .NET MAUI!", "OK");
           }
       }
   }

Anwendung ausführen

1. Startprojekt auswählen:
– Wähle das gewünschte Zielgerät oder den Emulator aus dem Dropdown-Menü in Visual Studio aus (Android, iOS, Windows, macOS).

2. Anwendung ausführen:
– Klicke auf den grünen „Start“ Button (oder drücke F5), um die Anwendung zu starten.

Zusammenfassung

Das sind die grundlegenden Schritte, um eine einfache MAUI-App zu erstellen. Du kannst die Benutzeroberfläche und die Logik erweitern, um komplexere Anwendungen zu entwickeln. Hier sind einige zusätzliche Ressourcen, die dir weiterhelfen können:

Offizielle .NET MAUI-Dokumentation
Microsoft Learn-Kurse für .NET MAUI
Microsoft: Erstellen Ihrer ersten .NET MAUI App

Der Unterschied zwischen MAUI und Blazor

.NET MAUI (Multi-platform App UI) und Blazor sind beide Frameworks von Microsoft zur Entwicklung von Benutzeroberflächen, aber sie haben unterschiedliche Anwendungsfälle, Technologien und Zielplattformen. Hier sind die Hauptunterschiede:

1. Technologie-Stack

  • .NET MAUI:
    • Technologie: .NET MAUI basiert auf XAML und C# für die Entwicklung der Benutzeroberfläche und Geschäftslogik.
    • Plattformen: Es ermöglicht die Erstellung von nativen Anwendungen für Android, iOS, macOS und Windows mit einer einzigen Codebasis.
    • Rendering: MAUI rendert die Benutzeroberfläche mit nativen Steuerelementen der jeweiligen Plattform. Das bedeutet, dass MAUI-Apps das Look-and-Feel der jeweiligen Plattformen übernehmen.
  • Blazor:
    • Technologie: Blazor basiert auf Razor, HTML und C# und ist stark in das Web-Ökosystem integriert.
    • Plattformen: Ursprünglich für Webanwendungen konzipiert, ermöglicht Blazor die Erstellung von interaktiven Web-UI mithilfe von C# anstelle von JavaScript.
    • Rendering: Blazor rendert die Benutzeroberfläche im Webbrowser. Es gibt zwei Hauptmodi: Blazor Server (Server-seitiges Rendering) und Blazor WebAssembly (Client-seitiges Rendering).

2. Anwendungsfälle

  • .NET MAUI:
    • Ideal für die Entwicklung von plattformübergreifenden mobilen und Desktop-Anwendungen.
    • Geeignet für Anwendungen, die nativen Zugriff auf Gerätespezifische APIs und Hardware benötigen.
  • Blazor:
    • Ideal für die Entwicklung von Webanwendungen, die direkt im Browser ausgeführt werden.
    • Blazor Server eignet sich gut für Anwendungen mit geringer Latenzanforderung und einer stabilen Netzwerkverbindung.
    • Blazor WebAssembly eignet sich gut für Offline-fähige Anwendungen oder solche, die clientseitig intensive Berechnungen durchführen müssen.

3. Deployment und Laufzeit

  • .NET MAUI:
    • Anwendungen werden als native Apps auf den jeweiligen Plattformen verteilt (z.B. über App Stores).
    • Laufzeit: Die Anwendungen laufen auf den nativen .NET-Runtimes der jeweiligen Plattformen.
  • Blazor:
    • Blazor WebAssembly: Anwendungen werden im Browser als WebAssembly ausgeführt und benötigen keine Server-Verbindung nach der initialen Ladephase.
    • Blazor Server: Anwendungen werden auf einem Server gehostet und die UI-Updates werden über SignalR in Echtzeit an den Browser übertragen.
    • Deployment erfolgt in der Regel über Webserver und Content Delivery Networks (CDNs).

4. Entwicklungsparadigma

  • .NET MAUI:
    • Fokus auf die Entwicklung mit XAML für das UI-Design und C# für die Geschäftslogik.
    • Ähnlich zu Xamarin.Forms, aber weiterentwickelt und für mehrere Plattformen optimiert.
  • Blazor:
    • Fokus auf die Entwicklung mit HTML und Razor-Syntax für das UI-Design und C# für die Geschäftslogik.
    • Ermöglicht eine komponentenbasierte Entwicklung ähnlich wie bei modernen JavaScript-Frameworks wie React oder Angular.

Fazit

  • .NET MAUI eignet sich hervorragend für Entwickler, die native mobile und Desktop-Anwendungen mit einer gemeinsamen Codebasis erstellen möchten.
  • Blazor eignet sich hervorragend für Entwickler, die interaktive Webanwendungen mit C# und ohne die Notwendigkeit von JavaScript erstellen möchten.

Die Wahl zwischen MAUI und Blazor hängt von deinem Projekt und deinen spezifischen Anforderungen ab. Wenn du plattformübergreifende native Apps erstellen möchtest, ist MAUI die richtige Wahl. Wenn du Webanwendungen erstellen möchtest, die im Browser laufen, ist Blazor die bessere Option.