.NET Multi-platform App UI (MAUI) lets you build native apps using a .NET cross-platform UI toolkit that targets the mobile and desktop form factors on Android, iOS, macOS, Windows, and Tizen. .NET MAUI is the successor of Xamarin.Forms and is now part of the .NET ecosystem, rather than a separate library.
.NET Multi-platform App UI (MAUI)
.NET MAUI is:
- Multi-platform native UI
- Deploy to multiple devices across mobile & desktop on Android, iOS, macOS, Windows and Tizen.
- Using a single project, single codebase
- Evolution of Xamarin.Forms
Goals
- Improve app performance
- Improve simplicity of control extensibility
- Improve simplicity of contributing
- Enable developer options to use Model-View-Update (MVU) and Blazor
Xamarin.Forms vs .NET MAUI
Xamarin.Forms | .NET MAUI | |
---|---|---|
Platforms | ||
Android | API 19+ | API 21+ |
iOS | 9-15 | 10+ |
Linux | Community | Community |
macOS | Community | Microsoft |
Tizen | Samsung | Samsung |
Windows | UWP Microsoft WPF Community |
Microsoft |
Features | ||
Renderers | Tightly coupled to BindableObject | Loosely coupled, no Xamarin.Forms dependencies |
App Models | MVVM | MVVM |
RxUI | RxUI | |
MVU * | ||
Blazor * | ||
Single Project | No | Yes |
Multi-targeting | No | Yes |
Multi-window | No | Yes |
Misc | ||
.NET | Xamarin.iOS, Xamarin.Android, Mono, .NET Framework, ... | .NET 6+ |
XAML Hot Reload | Experimental: SDK 4.x & Visual Studio 2019 prior to version 16.9 Feature Complete: SDK 5.x & Visual Studio 2019 version 16.9 or newer |
Yes |
.NET Hot Reload | iOS/Android – No UWP – Limited support for runtime edits using .NET “Edit & Continue” |
Yes |
Acquisition | NuGet & Visual Studio Installer | dotnet |
Project System | Franken-proj | SDK Style |
dotnet CLI | No | Yes |
Tools | ||
Visual Studio 2019 | Yes | Yes |
Visual Studio 2019 for Mac | Yes | Yes |
Visual Studio Code | No | Experimental** |
* These app models are experimental.
** Visual Studio Code will work by virtue of .NET unification, however not all experiences that make .NET MAUI development delightful (intellisense for example) may be enabled at the time of .NET 6 release.
FAQs
Do you have questions? Do not worry, we have prepared a complete FAQ answering the most common questions.
How to Engage, Contribute, and Give Feedback
Some of the best ways to contribute are to try things out, file issues, join in design conversations, and make pull-requests. Proposals for changes specific to MAUI can be found too.