.NET MAUI, not just another cross-platform tool
It was not so long ago that mobile application development changed the world. Back then, such development was reserved for manufacturers. When we finally got access to tools to make our own apps, it turned into a multi-billion-dollar industry.
So, what is next?
We have an amazing journey ahead of us. Manufacturers are spending billions in developing flagship chips, devices, and tools to grow their business. As business leaders that build apps on these platforms, how do we keep up?
With the fast-paced rate of change in tools for developing apps, it becomes difficult to keep up. As the head of technology in your organisation, you want to make sure you keep up with innovation but build apps efficiently within constrained budgets. Most importantly, we need to do so using tools that will be supported in the future.
Where do we start?
Being able to build a single code base that runs on at least the three prevailing mobile platforms (Apple, Google, and Huawei) is a good start. We call this cross-platform development. It’s an efficient approach that maximises budget and centralises the development effort to a single skillset. There are many such tools, and some we regret ever investing in. Some of the better options require 3rd party licenses or a unique skillset that are difficult to find in the pool of available software developers. Cross platform now also includes Desktops and TVs. We are playing on an ever-changing playing field.
Microsoft has properly entered the game. Their approach to this challenge is a game changer.
.NET MAUI (Multi-platform App UI) is not just addressing the future of mobile app development, but the whole spectrum of platforms such as web, TV’s, and form factors still under development. Currently it supports major platforms such as Android, iOS, Desktop, Web, Tizen TV’s and fridges using a single code base. It’s truly a “write once, run anywhere” framework.
The technical bit
.NET MAUI is open-source and the evolution of Xamarin.Forms. User Interface controls, performance features and extensibility were built from the ground up. Website developers who normally create single page web applications with Blazor, can now use component share libraries to port website functionality directly into .NET MAUI to create cross platform applications! This gets your website into a mobile app in a few simple steps.
From a development point of view, the solution is now created as a single project. By selecting the target platform, the project will build the application targeting that platform. This is a great improvement from “project per framework” approach of Xamarin.Forms.
Further to this, the application is executed as native code on the different environments making use of the following:
Android apps built on the framework are compiled from C# into IL (intermediate language) which is then just-in-time compiled into a native assembly
IOS apps are fully ahead-of-time compiled from C# into ARM assembly code
MacOS apps use Mac Catalyst, a solution from Apple that brings your iOS apps built with UIKit to the desktop, and augments it with additional AppKit and platform APIs as required
Windows apps use Windows UI 3 library to create native apps that target the Windows desktop
With only one code base to maintain for the different environments you can concentrate on business logic that matters to you.
As the manufacturers evolve devices and introduce new hardware features and devices, the apps we build will be expected to run on them. .NET MAUI is the technology your organization should adopt to future proof your apps.