TL;DR: Saying goodbye to complex Xamarin.Forms projects? .NET MAUI offers a single project for mobile and desktop development, simplifying code management and boosting performance. Discover the top 5 advantages and unlock smoother cross-platform app creation.
Xamarin.Forms has been with us for 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 your 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
Syncfusion’s .NET MAUI controls suite is the expert’s choice for building modern web apps.
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; 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 the .NET CLI tool-chain to build, develop, run, and publish .NET applications seamlessly.
2. Slim renderers
Xamarin.Forms use and depend 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 is no Xamarin.Forms dependencies in it.
Note: Refer to the slim renderers demo to learn more about it.
3. Modern Patterns
As you know, Xamarin.Forms support MVVM (model-view-viewmodel) and RxUI (ReactiveUI) patterns. In addition to those, .NET MAUI will support MVU (model-view-update) and Blazor development patterns.
Every property of the Syncfusion .NET MAUI controls is completely documented to make it easy to get started.
MVU
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.
Blazor
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 similarly 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.
Supercharge your cross-platform apps with Syncfusion's robust .NET MAUI controls.
Conclusion
Thanks for reading! We hope you are intrigued by the top five advantages of .NET MAUI over Xamarin.Forms are 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, support portal, or feedback portal. We are always happy to assist you!
Recommended resources
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
- 10 Reasons to Choose Syncfusion Xamarin Suite Over Others
- Combining UI Elements with the Xamarin Chat Control to Create a Conversational UI with Microsoft MVP Codrina Merigo
- Here Are the World’s First and Only UI Controls for Xamarin.Forms WPF
- 5 Different Ways to Visualize A Color Picker Control in Xamarin.Forms
- Xamarin.Forms Succinctly
Comments (9)
Hi, Thanks for the great article! 🙂
There is this question that I have asked in several forums, but there has not been a useful answer yet: Will the first version of MAUI include all the features of current version of Xamarin Forms? Or, as in .NET Core vs. NET Framework, it will take several iterations to get to that level of featureful-ness.
If MAUI comes out with less initial features, we can keep using Xamarin…
Thanks,
Sia
Hi SIAVASH MORTAZAVI,
Question : “Will the first version of MAUI include all the features of the current version of Xamarin Forms? Or, as in .NET Core vs. NET Framework, it will take several iterations to get to that level of featureful-ness.”
Answer: Actually No, We suppose to wait for upcoming previews to get the proper template or working environment for MAUI. I hope we no need to wait so long.
Question: “If MAUI comes out with less initial features, we can keep using Xamarin”
Answer: I hope the video answers better for this question
https://www.youtube.com/watch?v=zvPPz6DABi8
Thanks a lot for the reply! 🙂
Will it be as buggish as Xamarin.Forms was/is? Microosoft needs to invest rather in quality and stability then in the feature set which brokes from release to release. Also, will the migration from Xamarin.Form to MAUI be seamless?
Hi Cartera Veaceslav,
I hope .Net MAUI should definitely better than Xamarin in the aspect of stability and performance. As per their plan, migration should be simple, maybe at the namespace level, Also they plan to provide a migration tool for seamless migration from Xamarin.Forms to .Net MAUI
Thanks for this very informative article! Will .NET MAUI use XAML to describe UI forms? If so, will it be the only way to build a UI form, or will there be some new, possibly preferred way?
Hi Michael Offner,
Yes, Like Xamarin, MAUI uses XAML to design UI. So far you can design UI either XAML or C#(Code-behind).
Are you planning to port all Xamarin Controls to MAUI?
My main concern is the Radial Menu, which is a prominent user interface control in my app and I am hoping that it will be supported going forward.
Will MAUI apps allow Xamarin Nuget packages to run within them?? What is the plan to transition complex apps from Xamarin to MAUI?
Thanks
Hi Solomon Fried
Q: Are you planning to port all Xamarin Controls to MAUI? My main concern is the Radial Menu, which is a
prominent user interface control in my app and I am hoping that it will be supported going forward.
A: Yes you can expect our RadialMenu support for MAUI in our upcoming releases.
Q: Will MAUI apps allow Xamarin Nuget packages to run within them??
A: No, Currently Xamarin Nuget package is not compatible.
Q: What is the plan to transition complex apps from Xamarin to MAUI?
A: We plan to release our first set .NET MAUI controls in the near future. Along with the.NET MAUI GA release, Syncfusion will be releasing more.NET MAUI controls in the near future. Along with the release, we will update proper Getting started document and migration details if any.
Comments are closed.