.NET MAUI in a Nutshell — Everything You Need to Know

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.

readtime
July 4, 2022

TL;DR

Introduction

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.

What is .NET MAUI?

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.

.NET MAUI release date

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

MAUI essentials

Cross-platform support

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. 

Layout engine

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.

Hot reloading & build tools

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.

.NET MAUI example use cases

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>

.NET MAUI vs Flutter

Programming languages

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.

Target platforms

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.

Third-party tools

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. 

.NET MAUI vs Xamarin

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. 

.NET MAUI vs React Native

Programming languages

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. 

Target platforms

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.

Third-party tools

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. 

FAQ

Is .NET MAUI available?

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.

What is the .NET MAUI release date?

.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. 

What is .NET MAUI used for?

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. 

Is .NET MAUI good?

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. 

Summary

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>

Bianka Pluszczewska
github
Editor

Read next

No items found...

Get actionable product building tactics in your mailbox, monthly.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
brainhub rates and rerences

Bye, waterfall. Hello, BizDevOps.

Join 1,200+ other tech leaders and get monthly insights on how to:

  • build superior products that users love
  • release software fast, often, and within budget
  • avoid tension between product and engineering teams
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

By submitting, you agree to receive our BizDevOps newsletter.