What is .NET MAUI?

.NET MAUI (Multi-platform App UI) is a cross-platform framework for building native mobile and desktop applications using C# and .NET, enabling developers to create a single project that runs on Android, iOS, macOS, and Windows.

.NET MAUI logo

.NET MAUI’s role in app development

.NET MAUI is Microsoft’s next step towards simplifying cross-platform app development. Like its predecessor Xamarin.Forms, the newer open-source framework lets developers create native user interfaces and applications for iOS, Android, macOS, and Windows using a single codebase.

However, MAUI promises better performance, increased productivity, and a more streamlined developer experience than Xamarin.Forms. It is built on top of .NET 6, which brings improved performance and features across all platforms.

The framework was officially released in 2022 and has replaced Xamarin entirely in May 2024, when Microsoft ended support for all Xamarin SDKs.

Is .NET MAUI the right choice for your project?

.NET MAUI offers several advantages over its predecessor Xamarin.Forms: Instead of having to set up a dedicated project for each target platform, developers create just one that covers all operating systems. They can then store resources like fonts and images in a single location. Additionally, the MAUI framework includes platform-specific APIs, which makes accessing native device functionalities much easier.

  • One project for all target platforms: With Xamarin, developers have to create a dedicated project for each platform they are developing their app for (Android, iOS, macOS, and Windows). With .NET MAUI, one project covers all platforms, with resources like fonts and images stored in a single location.
  • MVU instead of MVVM: Model-View-Update (MVU) and Model-View-ViewModel (MVVM) are architectural patterns that separate an app’s presentation logic from its business logic. While MVVM, used by Xamarin.Forms, is more established among developers, MVU is gaining popularity. Its key advantages are its simplicity and the immutability of the app state. MAUI’s use of MVU makes it easier for developers to add new features without getting into conflict with other parts of the app.
  • Platform-specific APIs: While Xamarin.Forms provides APIs that work across all platforms, some platform-specific APIs are unavailable or require workarounds. With MAUI, developers can access native functionalities using a set of platform-specific APIs. These include utilizing a device’s sensors, copying and pasting text to the system clipboard, and storing data securely as key-value pairs.
  • UWP vs. WinUI: Whereas Xamarin.Forms relies on the UWP UI framework, .NET MAUI instead uses WinUI, which is decoupled from the release schedule of Windows. That means developers using MAUI generally have a more current and frequently updated UI framework to work with.

However, MAUI still has to prove itself as a cross-platform tool. The Xamarin community, on the other hand, has had many years to get comfortable with its framework of choice. This makes it hard to recommend one over the other on merit alone.

However, Microsoft’s has stopped supporting the Xamarin framework. Therefore, any new development projects should probably use .NET MAUI, as migrating the code later will present its own issues.

For existing apps, developers should familiarize themselves with MAUI sooner rather than later. While Microsoft removing official support does not spell the end of all Xamarin apps, .NET MAUI is a future-proof option.