Meet .NET MAUI, the Technology Replacing Xamarin.Forms
Post co-written by Madina Delleci and Rémi Eynard
.NET Multi-platform App UI (MAUI) is a multi-platform technology for developing mobile (iOS and Android) and desktop (Windows and Mac) applications. MAUI, which is based on the Microsoft .NET6, C#, and XAML languages and technologies, can be used to generate a native application from a single shared codebase.
MAUI is the evolution of Xamarin.Forms. Previously, Xamarin Native allowed developers to consolidate the business logic code. The interface had to be written for each target platform but in C#. In 2014, Xamarin.Forms added an overlay to Xamarin Native that enabled interface code consolidation. Due to be released in April 2022, MAUI represents a complete overhaul of Xamarin.Forms in .NET 6. As a result, it uses all of the same concepts.
What Are the Benefits of MAUI?
Despite its youth, MAUI is a robust technology. It is highly visual and simple to use, which provides numerous advantages:
- Multiple target platforms for a single shared code: over 95% of the code is effectively shared across all platforms.
- A technology based entirely on the .NET stack, giving it a solid technological spectrum (strongly typed) and enabling optimization of development expertise across an entire information system (IS) and the benefit of all of the .NET ecosystem’s NuGet components.
- An incredibly visual rendering: designing the graphical interface in XAML uses a tree-based (tag) approach, which allows you to focus on the application’s final rendering.
- Improvements in development and maintainability thanks to the binding system, which can be used in conjunction with the Model–view–viewmodel (MVVM) framework to completely separate the interface from the business logic. However, depending on the developer’s preferences, they may choose to create the style in Cascading Style Sheets (CSS) or use a declarative syntax (Model-View-Update [MVU] or similar).
- Automated visual adaptation: the visual rendering adapts to the specific features of the target platform automatically. It is straightforward to modify using the handlers and templates system.
- A complete toolkit supported by Visual Studio: the Microsoft Visual Studio suite includes features to simplify the developer’s work, such as hot reload (live development on a phone), compilation, and remote Mac execution even from a Windows workstation, etc.
- Free, open-source technology: although maintained mainly by Microsoft, MAUI is freely accessible to everyone on GitHub with all of the benefits that open source solutions typically provide.
The Disadvantages of MAUI
MAUI will be officially released in April 2022: it is therefore still a technology in transition and a migration phase (via a provided tool) will be needed to switch over the Xamarin.Forms applications to this new technology. This in-between state explains why some teams are still hesitant to begin new projects in one of these technologies.
Some operations, particularly app launch, were considered slow in Xamarin.Forms, of which MAUI is an evolution. This is one of the reasons for the evolution to MAUI, which appears to be more powerful.
Finally, while the .NET/C# foundation is an advantage, XAML skills are still in short supply in the job market, unlike other languages, even though SAML and MVVM are also used in other technologies.
Cellenza’s Recommendations for Using MAUI & Xamarin.Forms
So, should you use MAUI rather than Xamarin.Forms? We recommend starting with MAUI from the outset. The framework seems sufficiently stable during the Build phase.
Many features are missing from the MAUI/Xamarin.Forms software development kit (SDK) itself but there are separate components that are particularly relevant, such as MAUI Essentials, which allows interaction with the phone.
We also recommend an MVVM framework-based architecture. A strict MVVM approach (in other words, limiting interface code as much as possible in favor of binding concepts) can improve readability and maintainability.
Finally, we advise using a vector-based approach for the visual rendering, including application icons with a preference for Scalable Vector Graphics (SVG) over Portable Network Graphics (PNG).
Cellenza Sud-Est helped a private online wine sales company redesign its mobile application in early 2021.
Knowing that MAUI would be released in mid-2022, Cellenza’s experts advised their client about their choice of technology. The application was completely rebuilt in Xamarin.Forms in preparation for the migration to .NET MAUI in 2022.
A team of four people handled the development over five months. The application is now available in app stores.
Learn more about mobile app: