Introduction to .NET MAUI
What is .NET MAUI?
.NET MAUI stand for Multi-platform App User Interface and is framework that enables creating beautiful UI for many platforms with one code base.
By Multi-platform we understand: Android, iOS, Windows, Linux.
History of Multi-platform App UI
In May 2020 on Build event during speech “The Journey to One.NET” Microsoft Director Program Manager Scott Hunter and Director Community Scott Hanselman announced “.NET MAUI the evolution of Xamarin” and introduced it whole .NET community. The idea and commitment to deliver .NET MAUI came in February 2020 from Program Managers David Ortinau and James Montemagno.
Ipso facto .NET MAUI is final, long waited step of acquisition, merging Xamarin into Microsoft and Mono in ONE.NET
.NET Multi-platform App UI is not only Xamarin rebrand but also taking best practices from Xamarin.Forms with avoiding many failures, including features requested and often developed by Xamarin community.
Xamarin and MAUI are Open Source projects leaded by Microsoft.
Xamarin.Forms 5 is mature product, but for many version 5 what they expected from commercial product from version 1.
.NET MAUI is lesson learned from success and failures of Xamarin.Forms.
Open Source is fountain of ideas also is “Right to fix”, thanks to Microsoft management and community efforts MAUI should be stable, mature product from day one.
To understand needs and benefits of .NET MAUI it is required to compare it with its ancestors Xamarin.Native and Xamarin.Forms.
Technology created to develop mobile application using native apis, native UI and native tools as Android Studio and xCode in C#/.NET/MONO.
Main advantage this technology is that developer you are able to do pixel perfect UI for each platform in native way in C#.
Main problem with Xamarin.Native is that you need to know native apis for 2 platforms, what is blocker and even amount of knowledge for 1 platform is much a lot for one developer.
UI for each platform is done separately, so if have two platforms Android and iOS work had to be done twice.
iOS and Android UI making are alien technologies, dissimilar from each other as well as not similar to any .NET UI technologies as WPF,UWP or even Win.FORMS, ASP.NET, what makes development discouraging.
XF is proxy abstraction over native UI apis enabling more .NET friendly making UI without need of using xCode or Android Studio.
XF at first was proposed by Jason Smith from Xamarin/Microsoft as technology for doing plain corporate Forms apps and prototypes.
One UI XAML API over Android and iOS is what many developers loved from very begging and give it try to grow into something more than prototyping, that is production apps used by millions of users.
Trying to match and merge, two or more Unequal UI APIs in one abstraction was an challenge for Microsoft and .NET Community all over the world.
Before XF5 and hot reload, pixel perfect design was doable, sometimes hard to achieve, but to many new developers for sure not easy or even not reachable.
Rebrand and beyond
.NET MAUI fits in Microsoft branding and naming as MS SQL, ASP.MVC…
Although Xamarin.Forms is now very mature, stable product still there is place for improvements and chance to make them part of Microsoft branded product, giving well known look and feel here are some of key features more HOT RELAOD, removing custom renders, single project.
Xamarin.Forms vs .NET MAUI
Visual Studio 2022 Visual Studio Preview (microsoft.com)