Xamarin.Forms has been with us nearly seven years! It has played a crucial role in cross-platform application development and has helped countless developers succeed year after year. But now it’s time to say goodbye to Xamarin.Forms and happily welcome .NET MAUI (Multi-platform App UI). .NET MAUI is going to help us be even more successful in app development.
Note: If this is your first time hearing about .NET MAUI, please read this MAUI introduction blog to get acquainted.
You may have this million-dollar question in you mind: why use .NET MAUI when we have Xamarin?
.NET MAUI is the evolution of Xamarin.Forms. It is extended from mobile to desktop scenarios with UI controls rebuilt from the ground up for performance and extensibility.
In this blog post, we will discuss the top five advantages of .NET MAUI over Xamarin.Forms:
- Single development project experience with .NET CLI
- Slim renderers
- Modern patterns
- Complete support for hot reloads
- Unification of libraries
1. Single development project experience with .NET CLI
With Xamarin.Forms, developers may become frustrated while working with multiple projects targeting multiple platforms; keeping images, fonts, and platform-related code organized; and adding different dependencies, and resolving them if they’re referenced as NuGet packages. Encountering these problems, developers may think,”Why don’t we have an option to do this stuff in a single project?”
.NET MAUI comes with a single project to solve all these issues. Still, you will need to do some platform-specific operations because we can’t just get rid of that stuff.
.NET MAUI also provides support for .NET CLI tool-chain to build, develop, run, and publish .NET applications seamlessly.
2. Slim renderers
Xamarin.Forms uses and depends on custom renderers that are not used in .NET MAUI. Knowing this, you may ask, “What will happen with the custom renderers used in my current application?” Don’t worry. Custom renderers can still work using a compatibility package, but it is recommended to migrate and use the new slim renderer pattern. Doing so will help make your app lightweight and the developing experience easier. .NET MAUI is loosely coupled, and there are no Xamarin.Forms dependencies in it.
Note: Refer to the slim renderers demo to learn more about it.
3. Modern Patterns
Every property of the Syncfusion .NET MAUI controls is completely documented to make it easy to get started.Read Now
This pattern provides a unified way to build cross-platform native front ends from a single code base. It also allows us to write UI code and logic in C# as shown below.
As we know, Blazor is one of the most adaptive programming models for building web applications. .NET 6 will extend Blazor’s target scenarios (not in Preview 1, but maybe before GA) to include native desktop applications that may rely on web-based rendering. Blazor desktop will be structured similar to the way the Electron works.
4. Complete support for hot reloads
Complete hot reload support will be provided for .NET MAUI. Refer to the following table.XAML Hot Reload.NET Hot ReloadXamarin.FormsExperimental: SDK 4.x & Visual Studio 2019 prior to version 16.9
Feature Complete: SDK 5.x & Visual Studio 2019 version 16.9 or neweriOS/Android : No
UWP : Limited support for runtime edits using .NET’s Edit and Continue feature..NET MAUIComplete supportComplete Support
5. Unification of libraries
.NET MAUI comes with the unification of critical libraries. It provides several benefits by merging the Xamarin.Essentials library into .NET MAUI so that you can easily use device capabilities like device sensors, photos, contacts, and many services you use on a regular basis like authentication and secure storage.
Thanks for reading! We hope you are intrigued by the top five advantages of .NET MAUI over Xamarin.Forms explained in this blog post.
At Assemblysoft, we strive to build world-class applications exceed client requirements.