- September 19
- 14 min
NET MAUI is the successor to Xamarin (acquired by Microsoft in 2016). NET MAUI offers improvements over Xamarin, including better performance and developer experience, better support for mobile, extended to desktop support, and easier deployment. In this blog post, we’ll take a closer look at what makes NET MAUI such a valuable tool for developing cross-platform user interfaces for iOS, macOS, Android, Windows and Tizen (through a partnership with Samsung) with C# and XAML.
Table of contents
What is .NET MAUI?
The main difference between Xamarin.Forms and .NET MAUI
.NET MAUI, What’s in it?
What are the benefits of .NET MAUI?
What are the disadvantages of .NET MAUI?
Should you develop applications with .NET MAUI?
At its core, .NET MAUI is a cross-platform open-source UI framework, a part of the .NET platform. It’s designed to make it easy for developers to create native user experiences for all the major platforms (iOS, macOS, Android, Windows) using a single codebase. This means that you can target multiple platforms with a single source code instead of creating separate environments. Not only does this save time and money, but it also allows you to deliver a consistent experience across all your platforms.
.NET MAUI’s acronym stands for Multi-platform Application UI. It is the next evolution of Xamarin and Xamarin.Forms frameworks. MAUI unites separate target libraries and projects into a single project for multiple devices. It is the next unveiling of the .NET 6 unification steps (also known as the Journey to One .NET). .NET MAUI supports the development of the applications on Android 5+, iOS 10+, macOS 10.15+, Windows 10 version 1809+, or Windows 11.
Xamarin.Forms is an abstraction layer that allows shared code to interact with Android, iOS and Windows base platform code. Xamarin.Forms is typically used to create native cross-platform applications.
Using Xamarin.Forms, the cross-platform mobile app developer can cut development time by writing all the business logic in a single language. Nearly 90% of the code is shared across the platforms, achieving native performance and the same look and feel on each platform.
.NET MAUI is built as an upgrade to Xamarin.Forms, taking the platform’s evolution to the next level. In addition to mobile scenarios, MAUI has been extended to desktop scenarios with UI controls rebuilt from the ground up for performance and extensibility. .NET MAUI is Microsoft’s next step forward to create a unified .NET platform as a single base class for .NET Core and Mono/Xamarin.
.NET MAUI is recommended for new developments, Xamarin and Xamarin.Forms will be officially supported until May 1, 2024.
.NET MAUI delivers a single framework for building user interfaces for mobile and desktop applications. .NET MAUI apps can be written on PC or Mac, and compiled into native packages. The introduction of the .NET MAUI brings new features for a better developer experience.
.NET MAUI One Single Project for different platforms
A single project of .NET MAUI provides a streamlined and unified cross-platform developer experience, no matter the end intended platform.
It takes the platform-specific development experiences that developers usually face during the development cycle and aggregates them into one common project that can address Android, iOS, macOS, and Windows.
Projects developed in .NET MAUI allow placing the platform in a subfolder. This solution gives developers a focus on application development. In the Resources folder of the project, you have one place to manage fonts, images, application icon, start screen, raw assets and styling. .NET MAUI works to optimize these for the unique requirements of each platform.
In contrast to Xamarin, which uses separate projects for each platform a single common project of MAUI unifies Android, iOS, macOS, Tizen and Windows app development. It provides simpler debug target selection, shared resource files, a manifest that specifies the application title, ID and version, access to platform-specific APIs and tools, and a single, cross-platform entry point to the application.
.NET 6 integration
.NET MAUI is integrated with .NET 6. Xamarin.Forms is integrated with .NET Core 3.1. Integration with .NET 6 allows MAUI to incorporate new .NET 6 and C#10 features.
Cross-platform APIs for native features & Graphics APIs
Cross-platform APIs for accessing native device functions allow apps to access features such as GPS, accelerometer, and battery and network statuses. Moving beyond mobile app development allows for the development of more tailored applications to meet business and user requirements.
The cross-platform graphics functionality in .NET MAUI provides a canvas for drawing and painting shapes & images and compositing operations. Xamarin, on the other hand, executes drawing requirements on the native side using renderers or via SkiaSharp in Xamarin.Forms.
Native UI support
The .NET MAUI is designed to provide the best app experience, uniquely developed for each platform (Android, iOS, macOS, Windows and Tizen), while ensuring a consistent and rich brand experience.
.NET MAUI adds to Xamarin mobile controls, support for desktop applications with multiple windows, menu bars, and new animation capabilities, borders, corners, shadows, graphics and more.
Focus on Accessibility
MAUI offers support for building inclusive experiences. In many situations, legal requirements for accessibility can provide an incentive for developers to address accessibility aspects, e.g.: Web Content Accessibility Guidelines (WCAG). Regardless, it makes sense to build applications with people with equal needs in mind.
.NET MAUI offers Semantic properties – the .NET MAUI approach to ensuring accessibility value in applications and is recommended to use. Xamarin.Forms offers an automation properties approach to ensuring accessibility. This has been overtaken by semantic properties. Semantic properties allow for control of, for example, description, hint and header level, focus, screen reader and automation properties.
Interactive UI on Desktop and Mobile with Blazor
Xamarin.Forms support MVVM (model-view-viewmodel) and RxUI (ReactiveUI) patterns. MAUI’s support was extended and, in addition, provides support for MVU (model-view-update) and Blazor development patterns.
.NET MAUI integrates with Blazor. By merging .NET MAUI and Blazor, developers can easily leverage the ability to create cross-platform native applications and build a single user interface that covers mobile, desktop and web components.
Blazor compiles and executes in the .NET workflow, is not limited to the web platform, and can use any native platform features such as notifications, Bluetooth, geolocation, file system and more.
.NET MAUI unifies key libraries. It combines Xamarin.Essentials libraries with .NET MAUI, making it easy to use device capabilities such as device sensors, photos, contacts, and other services in regular use, such as authentication and secure storage.
Backup in Visual Studio
.NET MAUI also speeds up the development in Visual Studio. Hot Reload, Live Visual Tree and XAML Live Preview are dedicated features allowing developers to apply changes to the code and see them immediately.
Better performance included
And not just in terms of optimizing the work of developers. UI controls in .NET MAUI implement a thin, decoupled handler-mapper pattern over native platform controls. This reduces the number of layers in UI rendering and simplifies control customization. Transitioning to .NET 6 brings significant performance improvements and reduced application size. You can see the details here.
The advantages are numerous, in addition to ease of use, unification of libraries, and providing an excellent developer experience, we can also mention the following:
- The multi-platform purpose for one common code.
- A single project that takes the burden of previous Xamarin.Forms options. Developers can forget about the irritation while working with multiple projects targeting multiple platforms.
- Technology is based entirely on the .NET stack, giving broad capabilities and robust Microsoft support.
- Outstanding rendering. Visual rendering automatically adapts to the specific characteristics of the target platform.
- Complete toolkit supported by Visual Studio.
- Free open-source technology: maintained by Microsoft, .NET MAUI is available to anyone on GitHub with all the benefits that open-source solutions provide.
.NET MAUI is not a flaw-free solution. Microsoft is currently working on optimizing it and fixing key bugs. The technology was released in mid-2022. Some teams are still resistant to the .NET MAUI transition because of the in-between status of the .NET MAUI roadmap. Also, XAML skills are an ongoing shortage in the job market.
Nevertheless, the advantages that .NET MAUI brings, as well as the end of Xamarin.Forms support, make it clear that mobile and desktop application development will be held and streamlined soon with MAUI.
Definitely! Microsoft’s broad support, its further plans to develop an even better and unified software development platform, cloud solutions as well as the use and development of agile technologies leaves no doubt.
.NET MAUI will excel for new business projects, especially for brands that want to provide an optimized user experience not only on mobile but also web and desktop. .NET development means smooth and future-proof business operations. Check out our .NET-based projects!
After carefully evaluating suppliers, we decided to try a new approach and start working with a near-shore software house. Cooperation with Hicron Software House was something different, and it turned out to be a great success that brought added value to our company.
With HICRON’s creative ideas and fresh perspective, we reached a new level of our core platform and achieved our business goals.
Many thanks for what you did so far; we are looking forward to more in future!
Hicron is a partner who has provided excellent software development services. Their talented software engineers have a strong focus on collaboration and quality. They have helped us in achieving our goals across our cloud platforms at a good pace, without compromising on the quality of our services. Our partnership is professional and solution-focused!