Overview of .NET MAUI

.NET Multi-platform App UI (.NET MAUI) is an open-source, cross-platform framework for creating native mobile and desktop applications with C# and XAML from a single, shared codebase.

With .NET MAUI, you can build apps for Android, iOS, macOS, and Windows from a single project. It's the evolution of Xamarin.Forms, enabling you to create rich, interactive applications that run on virtually any device.

Android iOS Windows macOS

Key Features and Benefits:

What's New in .NET MAUI?

.NET MAUI is the official successor to Xamarin.Forms, bringing enhanced performance, a unified project structure, and broader platform support with .NET 6 and beyond.

Getting Started with .NET MAUI

To start building .NET MAUI applications, you'll need to install the .NET SDK and the .NET MAUI workload. You can then create a new project using the .NET CLI or Visual Studio.

Here's a basic example of how you might create a new .NET MAUI project using the .NET CLI:


dotnet new maui -n MyMauiApp
cd MyMauiApp
dotnet build
            

Core Concepts:

The framework is built around several key concepts:

1. Project Structure

.NET MAUI introduces a simplified project structure. A single project contains all your platform-specific code, shared UI code, and business logic.

2. UI Definition (XAML and C#)

You can define your application's UI using XAML for a declarative approach or directly in C# code.


<!-- Example XAML -->
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MyMauiApp.MainPage"
             Title="Welcome">
    <Label Text="Hello, .NET MAUI!"
           HorizontalOptions="Center"
           VerticalOptions="Center" />
</ContentPage>
            

3. Controls

.NET MAUI provides a rich set of cross-platform UI controls, such as buttons, labels, text inputs, lists, and more. These controls are mapped to their native equivalents on each platform.

4. Data Binding

Data binding allows you to create a connection between your UI elements and your application's data model, enabling automatic synchronization of data.

5. Platform-Specific Features

While .NET MAUI emphasizes code sharing, you can still access platform-specific APIs and functionality when needed, either through conditional compilation or platform-specific implementations.

Learn More

Explore the Getting Started guide for detailed setup instructions and your first application walkthrough.