What is MAUI? and what are differences between MAUI and Xamarin

With .NET 5 Microsoft begins the journey of unifying the .NET platform, bringing .NET Core and Mono/Xamarin together in one base class library (BCL) and toolchain (SDK), more about it here.

.NET MAUI is a name for a new upgraded solution as a Multi-platform App UI framework for building native cross-platform apps with .NET for Android, iOS, macOS, and Windows. It is the evolution of Xamarin.Forms, built on top of it, becoming and being a new flagship .NET solution for building native cross-platform apps.

For me personally it is great that .NET team will be more focused on development of this framework with already great Xamarin.Forms team which made a huge difference and improvement to the platform in the last year or two.

For now, the GitHub repository (July 2020), is pretty much the same as XF one, all the namespaces are System.Maui, but in future things will be very different. As they promised on keynote and other sources:

  • One project targeting multiple platforms and devices
  • One location to manage resources such as fonts and images
  • Multi-targeting to organize your platform-specific code

It will also provide you support for building the apps in different modern patterns and frameworks such as:

  • MVVM
  • MVU
  • RxUI

Tools to create and develop apps with .NET MAUI are:

  • Visual Studio
  • Visual Studio for Mac
  • Visual Studio Code

Since .NET Maui will be more involved in whole .NET development tooling, there will be support added for .NET Core CLI. In other words that means we will be able to create a new project from the command line with:

dotnet new maui

Main goals of .NET Maui are:

  • Improve app performance
  • Improve simplicity of control extensibility
  • Improve the simplicity of contributing
  • Enable developer options to use Model-View-Update (MVU) and Blazor

In last year or two Xamarin.Forms had a very frequent cycle of new releases and that will surely continue. The team will continue to work on it but also side by side .NET Maui will grow more mature and around the release with .NET 6, Xamarin.Forms will stop with features and new stuff.

After .NET Maui is fully available and ready Xamarin.Forms will continue to receive support for 12 months. More about the road map and development state of it can be found on the official GitHub page here and the whole wiki page is full of helpful info about future development.

Also here is a nice Q&A about .NET MAUI with David Ortinau on InfoQ here.

UPDATE: On September 15, 2021:

“The .NET team has been working hard with the community in the open on its development and we are committed to its release. Unfortunately, .NET MAUI will not be ready for production with .NET 6 GA in November. We want to provide the best experience, performance, and quality on day 1 to our users and to do that, we need to slip the schedule. We are now targeting early Q2 of 2022 for .NET MAUI GA.” Source: https://devblogs.microsoft.com/dotnet/update-on-dotnet-maui/

Leave a Comment