.NET MAUI From Zero
.NET MAUI (Multi-platform App UI) is how C# developers build native apps for Android, iOS, macOS, and Windows from one codebase. It's the evolution of Xamarin.Forms, rebuilt on .NET: you write your UI and logic once, and MAUI renders it with each platform's native controls. If you already know C#, MAUI is your route into mobile and desktop without learning Swift, Kotlin, and a separate Windows stack.
The mental model is two layers tied by a pattern. The UI is a tree of controls, usually described in XAML (a declarative markup) with a C# code-behind - a page holds layouts, layouts hold controls. The logic lives in a ViewModel, and the two are joined by data binding (the MVVM pattern): the View binds to properties and commands on the ViewModel, so UI and logic stay decoupled and testable. Hold "XAML describes the UI, a ViewModel holds the state and behavior, and binding wires them together," and MAUI's moving parts fall into place.
📝 This teaches the framework - it assumes you know C#: classes, properties, events,
async/await, and interfaces (C# From Zero). MVVM and binding echo other component UIs (Blazor is the web sibling), and it consumes ASP.NET Core APIs. MAUI builds native apps, so examples are shown as XAML/C# rather than run on the page.
How to read this
Read in order - it builds one small app (a cross-platform notes app: a list, a detail/edit page, save and delete) from a single page to a navigable, MVVM-structured, API-aware app. Phases carry difficulty badges.
The phases
Part 1 - The UI (🟢 Basic → 🟡)
- What MAUI Is & Your First App 🟢 - one codebase, native targets, XAML + code-behind, and a running app.
- XAML & Layouts 🟡 - pages,
StackLayout/Grid, and arranging controls. - Controls & Data Binding 🟡 - common controls,
{Binding}, andBindingContext.
Part 2 - Real structure (🟡 → 🔴)
4. The MVVM Pattern 🔴 - ViewModels, INotifyPropertyChanged, commands, and the CommunityToolkit.Mvvm.
5. Navigation with Shell 🟡 - pages, routes, and moving between screens.
6. Data & Calling APIs 🔴 - HttpClient, JSON, and local storage (Preferences/SQLite).
Part 3 - Ship it (🟡 → 🟢) 7. Platform Features & Deployment 🟡 - sensors/permissions, per-platform code, and building for the stores. 8. Where to Go Next 🟢 - MAUI vs Flutter/React Native, Blazor Hybrid, and what to build.
The throughline: XAML describes the UI, a ViewModel holds state and behavior, and data binding wires them - one codebase, native everywhere. Hold that and MAUI is approachable.