.NET MAUI: What if you could develop an app that would work on all platforms, including Linux?

.NET FIXED

A problem that we Linux users have is that we are a bit abandoned by many developers. When they have to build something for a system, they build it for Windows, since it is used by about 4 out of 5 computers. And it is that developing for more operating systems requires an extra effort, but Microsoft updated the information about its .NET MAUI and aims to make things easier for app creators.

What is .NET MAUI? As we read in the Microsoft documentation, its name comes from .NET Multi-platform App UI, which translated into Spanish is a user interface for cross-platform applications. The .NET is the same one that has been years ahead of its Framework, and the whole thing is a cross-platform framework for building native desktop and mobile apps with C# and XAML.

.NET MAUI is more intended for mobile apps, but…

Although they do not say it directly, it seems that the objective is clear: create an app, tweak it a bit and make it usable on any device. It's basically a bit like PWA (Progressive Web Apps), but for mobile applications that can be used on the desktop. We come to this conclusion when we read the supported platforms page, where Android and iOS are mentioned before macOS. And it is that for macOS it will be through Catalyst, which is what makes iPad apps compatible with macOS.

On the supported platforms page we read:

  • Android 5.0 (API 21) or higher. For .NET MAUI blazor apps, Android 6 (API 23) or higher is required.
  • iOS 10 or higher. For .NET MAUI blazor apps, iOS 11 or higher is required.
  • macOS 10.13 or higher, using maccatalyst.
  • Windows 11 and Windows 10 version 1809 or later, with Windows UI Library (WinUI) 3.

And why do we talk about this in Linux Adictos? Well, because below it says that it will also be compatible with Tizen, supported by Samsung, and Linux, supported by the community. In the original page in English they use the word "supported", not compatible, and I think that the translation should be that, that it is Samsung and the Linux community who will have to make the final touches so that an app developed from .NET MAUI be compatible with Tizen and Linux respectively.

Is this good news? Does this have a future?

We cannot say that the news is bad. For starters, .NET MAUI is open source, but it is the evolution of Xamarin.Forms, so we can say that it would be a king put after a dead king. The new proposal has UI controls recompiled from scratch to improve performance and extensibility.

On performance, Microsoft explains:

.NET MAUI unifies Android, iOS, macOS, and Windows APIs into a single API that enables a write-once-anywhere developer experience while providing deep access to all aspects of each native platform.

.NET 6 provides a number of platform-specific frameworks for building apps: Android, iOS, macOS, and Windows UI 3 (WinUI 3) library versions. All of these frameworks have access to the same .NET 6 Base Class Library (BCL). This library abstracts the details of the underlying platform from the code. The BCL depends on the .NET runtime environment to provide the execution environment for code. For Android, iOS, and macOS, mono implements the environment, an implementation of the .NET runtime environment. On Windows, Win32 provides the runtime environment.

Let no one think that .NET MAUI will change everything… or will it?

When I was first told about this, my first thought was that "Maui" is a word that already exists in Linux, so I was surprised. Then, after reading a little more, I have come to a conclusion that I think will be correct: in the best case, it is likely that Linux users can have, for example, an official Twitter native application or an app type Photoshop for iPad OS, but not the Photoshop that we would all like to have available.

About the future, nobody knows. ARM architecture processors are here to stay, and Apple has had a say in all of this. Two opposing options cannot be ruled out: one is that this is going nowhere; the other would be an almost utopian future in which developers decided to create everything with .NET MAUI and in the end we could have all kinds of apps on Linux as well, although making it clear that the final touches should be done by the community. What if the second happens?


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.