Microsoft's .NET framework has long made an effort to make life easier for developers. Now, we're witnessing another milestone — the release of .NET MAUI. Explore the core principles behind .NET MAUI and see what makes it so special.
A QUICK SUMMARY – FOR THE BUSY ONES
.NET MAUI is a cross-platform framework building on Xamarin's history, allowing unified app development for Android, iOS, macOS, and Windows. It offers native controls and UIs, a layout engine, hot reloading, and simplified builds. Released in May 2022, it's ideal for multi-device users.
Comparisons:
TABLE OF CONTENTS
Microsoft's .NET framework has long made an effort to make life easier for developers.
Much like Java, the original .NET bytecode interpreter allowed the framework to find a happy middle ground between the speed of compiled language and the safety of interpreted languages.
Long before Kotlin was available as an alternate programming language for the Java Runtime Environment, Microsoft offered several languages that could target .NET.
With the release of the Roslyn compiler and its developer-friendly API, the tech giant made another great stride in the usability of the popular platform.
Now, Microsoft is set to release another milestone — .NET MAUI.
In this article, we’re taking a closer at what exactly .NET MAUI is, and what makes it so special.
Before we can explain what MAUI is, we need to go back in time to Mono.
In the earliest days of .NET, it only worked with Microsoft's Windows operating system. However, the standard was open. Mono was an open-source implementation of the .NET framework designed to work on Linux and other non-Microsoft operating systems.
Eventually, Mono became Xamarin and became a part of Microsoft. This allowed the official .NET implementation to provide cross-platform functionality and would become the basis for .NET MAUI.
One of the functionalities of Xamarin, called Xamarin.Forms, provided native controls for the platforms supported by Xamarin.
This meant that finally, coding for Android, iOS, and Windows could be accomplished with one programming toolkit.
.NET MAUI is a new release from Microsoft based on Xamarin Forms.
The name MAUI stands for Multi-platform App User Interface. MAUI isn't simply a repacked Xamarin.Forms, however. The entire system has been updated and streamlined to make cross-platform development even easier for developers.
After months of preview builds, Microsoft announced the release of .NET MAUI on the 23rd of May 2022.
The software will follow the same monthly service schedule as the rest of .NET and will retain the release schedule of 18 months that .NET developers have grown accustomed to.
Microsoft further clarified that the next phase of the MAUI journey would be bringing in plugins, libraries, and services from the .NET framework and updating the old project system to be compatible with .NET 6.
The big advantage of .NET MAUI is that it allows creating applications for Android, iOS, macOS, and Windows from a single codebase. The applications will run code native to the devices using the UI toolkits provided by the manufacturers, creating a fully native experience without having to deal with different programming languages, frameworks, and compilation processes.
Microsoft has taken great care to provide deep access to the native code underneath MAUI, offering the full capability of each device to MAUI programmers.
To make development easier, .NET MAUI provides a layout engine that makes it easy to design pages for your app, including multiple page types to help craft rich user interfaces for users.
In addition, the framework includes cross-platform graphics support in the form of a drawing canvas that can be used to break free from the constraints of the native controls.
Although MAUI provides access to platform-specific build tools, it's designed to make the build process as seamless as possible. The tool will handle packaging your resources for each of the target platforms so developers can simply build and run.
To make testing and iteration faster, MAUI includes support for .NET's hot reload feature. The feature allows apps to be updated while they're running without the need to stop the application.
The days when the only computing device people had was a Windows PC at home are gone. In addition to their desktop computers, today's consumers have one or more mobile devices. Many people only have mobile devices. Developers now need to reach consumers across the entire range of devices they may use and doing this has typically been difficult.
There needed to be a Kotlin project for Android, an Objective-C or Swift project for iOS, in addition to whatever cross-platform language was used for desktop development. Developers who want to bring their projects to mobile, as well as a desktop, now have a tool that allows them to use the familiar .NET tools to do so.
This could mean an app for ordering or receiving service from your business, or simply one that provides useful functions that users across a variety of devices may find beneficial. Whatever the reason for wanting to create a cross-platform app, .NET MAUI makes it possible.
<span class="colorbox1" fs-test-element="box1"><p><strong>Build your cross-platform .NET MAUI app with top software vendors</strong></p><p>Check our list of top .NET software development comapnies, and find your perfect fit.</p></span>
Flutter makes use of Google's Dart programming language. Dart is a C-like language that features ahead-of-time compilation to native code, allowing it to run at near-native speeds. Unlike some other native-UI toolkits, this makes it more competitive with .NET MAUI's performant .NET 6 foundation.
Until recently, Flutter was limited to running only on Android and iOS. Shortly before the release of .NET MAUI, however, Flutter added support for Windows, macOS, and Linux desktops.
.NET MAUI includes support for all of those platforms as well, with Linux support being provided by the community. In addition, Samsung has provided support for their Tizen OS to MAUI.
Because Dart isn't as popular among programmers as .NET is, the options for third-party libraries and other tools are much more limited on Flutter than they are for MAUI.
MAUI brings some exciting new features to the product known as Xamarin.Forms. As such, Microsoft is considering MAUI as the replacement for the Xamarin product. Xamarin's cross-platform tools for iOS and Android will be merged into the main .NET 6 package and Xamarin.Forms will be phased out, receiving support for one year after the release of .NET MAUI.
For that reason, we suggest that all developers who are interested in Xamarin use .NET 6 and MAUI instead.
Development in React Native is meant to be as compatible as possible with code written in React JS. Therefore, applications written in React Native use JavaScript and other web technologies to provide access to the native code under the hood. With .NET's use of the significantly faster .NET 6 framework, this gives .NET an edge where performance is crucial.
React Native is available on a few more platforms than .NET MAUI. Like with MAUI, Samsung and the Linux community have brought support for their platforms to React Native. In addition, React Native includes support for Android TV and for Apple's tvOS. At the current moment, there are no plans to support TV platforms with .NET MAUI.
React Native has been around for a long time, and it's built up quite an impressive list of third-party libraries. There are some downsides to this that don't exist in .NET's equally large selection of third-party offerings, however. There are two ways businesses can choose to develop apps with React Native — using a JavaScript-based code alone, or adding native code features. Using the JavaScript option brings on the additional performance hit of that language, while using the native options reduces the cross-platform ease of the system.
Yes, .NET MAUI is available now. It was released on the 23rd of May 2022. The software is built on the new .NET 6 framework, which was released last year, so developers interested in using MAUI will need to upgrade if they haven't already.
.NET MAUI was released on May 23, 2022. Microsoft notes that in the coming months, there will be additional plugins, libraries, and services brought to both .NET MAUI and the .NET 6 framework that powers it.
Cross-platform development is more critical now than ever, with customers expecting the tools they use to work across a variety of devices. Each of the devices has its own native programming language and UI toolkit. .NET MAUI bridges that gap, allowing developers to create a native UI experience across multiple platforms with a single, .NET powered, codebase.
Yes. Because .NET MAUI is built on the already reliable Xamarin Forms product, it had already proven itself a capable alternative to other native-UI cross-platform solutions before it was even launched. At Brainhub, we believe the enhanced features that make up MAUI, and the fact that it's based on the faster and more capable .NET 6, will make it one of the top choices for cross-platform development.
So there you have it, a brief introduction to .NET MAUI and how it compares to some of its closest competitors.
When Xamarin first added support for coding native UI apps on Android and iOS with one unified codebase, it was game-changing. Although several competitors have popped up in that time, the evolution of Xamarin.Form to .NET MAUI is set to once again change the way cross-platform applications are developed.
The .NET ecosystem is huge, providing developers of Android and iOS applications using .NET with nearly all of the tools they want to build their dream app without having to reinvent the wheel.
<span class="colorbox1" fs-test-element="box1"><p><strong>Need advice concerning .NET MAUI?</strong></p><p>For more information about all things .NET, feel free to contact us at any time. We'd be glad to help.</p></span>
Our promise
Every year, Brainhub helps 750,000+ founders, leaders and software engineers make smart tech decisions. We earn that trust by openly sharing our insights based on practical software engineering experience.
Authors
Read next
Popular this month