DEV Community

Cover image for Say Hello to .NET MAUI! A First-Class UI Framework

Say Hello to .NET MAUI! A First-Class UI Framework

Successive Technologies
A next-gen technology consulting services company purpose-built to accelerate modern businesses.
・3 min read

For years, developers have been waiting for a cross-platform .NET scheme for every type of project. Well, the wait has been over this year with the announcement of .NET Multi-platform App UI (MAUI), a single-stack UI framework that supports all modern platforms: Android, iOS, macOS, and Windows.

If you are interested in the mobile app development space, you must have heard by now: Xamarin Forms is evolving into .NET Multi-platform App User Interface (MAUI). If not, then you are at the correct place! This post will tell you all about this .NET evolution and what it might mean for you.

Introducing .NET Multi-platform App UI (MAUI)

Introduced at the 2020’s Microsoft Build developer virtual conference, the .NET MAUI framework is an evolution of the Xamarin Forms toolkit for building beautiful native UIs for Windows, iOS, and Android from a single codebase. MAUI also adds MacOS support to the mix. It will also support new devices such as Microsoft Surface Duo.

The word 'evolve' here clearly says that nothing is going away! The evolution means that all UI stacks are equal, and everything will get faster, better, and easy for the developers.

MAUI is a part of Microsoft's recent efforts towards unifying the .NET platform. Why? It is currently a segmented one, intending to improve app performance and simplify multi-platform app development. The native features of each platform and UI control are within reach in a cross-platform API for the developers to provide no-compromise user experiences while sharing even more code than before.

Scott Hunter, director of program management at Microsoft, said in a post:

"With .NET 5, we begin our journey of unifying the .NET platform, bringing .NET Core and Mono/Xamarin together in one base class library (BCL) and toolchain (SDK)".

The first public preview for MAUI will happen later this year, with general availability targeted together with the release of .NET 6 (November 2021).

Key Features of .NET MAUI

• Single Project Structure

One of the amazing features. The project structure is now single source for multiple platforms, with single-click deployment.

Images, fonts, and translation files can be easily added to a single project, with native hooks set up automatically.

• Slim Renderers

In .NET MAUI, the renderers that are available right now will evolve to slim renderers. The renderers will be reengineered and built from the ground up to be more performant.

• Visual Studio Code Support

.NET MAUI will support the Visual Studio Code (VS Code). It has been an enduring wish from a lot of developers,

• Multiple Design Patterns Support

Model-View-View-Model (MVVM) and XAML are first-class features in .NET MAUI. Developers can now implement the Model-View-Update (MVU) pattern. MVU promotes a one-way flow of data and state management along with a code-first development experience, which updates the UI by applying necessary changes.

To help developers make a smooth transition of existing apps to .NET MAUI, Microsoft plans to provide ‘Try-N-Convert’ support and migration guides like what they have been offering for migrating to .NET Core.

Here’s a glance at the differences between MAUI and Xamarin.Forms:

How MAUI and Xamarin.Forms Differs from Platform Perspective:

Alt Text

How MAUI and Xamarin.Forms Differs from Features Perspective:

Alt Text

How MAUI and Xamarin.Forms Differs on Tools:

Alt Text

How MAUI and Xamarin.Forms Differs on Others Key Parameters:

Alt Text

We, at Successive Technologies, are excited to use the MAUI framework for the development of multi-platform apps. Having an experienced team of cross-platform developers and .NET, we clearly understand the uniqueness of each platform and build multi-platform apps for any business as per the requirement.

Discussion (4)

jayjeckel profile image
Jay Jeckel

It doesn't support "all modern platforms" since Linux is a modern platform and isn't supported.

saint4eva profile image

Support for Linux will come later - just like flutter did. Features would be added incrementally.

jayjeckel profile image
Jay Jeckel

Oh, I'm sure, but, as of right now, it doesn't support "all modern platforms" as is claimed.

Thread Thread
saint4eva profile image

Is not even released yet. That is their vision statement to support all modern platform.