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
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 Reload|
|Xamarin.Forms||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
|iOS/Android : No|
UWP : Limited support for runtime edits using .NET’s Edit and Continue feature.
|.NET MAUI||Complete support||Complete 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 Syncfusion, we strive to build world-class products that can exceed developer requirements. We are very thankful for your great response to our Xamarin Controls. Your support and feedback helped in making our Xamarin controls a market leader.
With the same spirit, we have planned to deliver .NET MAUI controls that will perform even better. You can expect more .NET MAUI controls in the near future from Syncfusion, along with the .NET MAUI GA release.
If you have any feedback or any special requirements or controls needed for Syncfusion’s .NET MAUI support, please let us know in the comments below. You can also contact us through our support forum, Direct-Trac, or feedback portal. We are always happy to assist you!
If you liked this blog post, we think you’ll also like the following:
- Crafting Beautiful Apps with Xamarin Forms and Syncfusion with James Montemagno [Webinar Video]
- 10 Reasons to Choose Syncfusion Xamarin Suite Over Others [Blog]
- Combining UI Elements with the Xamarin Chat Control to Create a Conversational UI with Microsoft MVP Codrina Merigo [Blog]
- Here Are the World’s First and Only UI Controls for Xamarin.Forms WPF [Blog]
- 5 Different Ways to Visualize A Color Picker Control in Xamarin.Forms [Blog]
- Xamarin.Forms Succinctly [Ebook]