Will .NET MAUI Support Linux?
.NET MAUI, the new and improved version of Xamarin.Forms is due to launch along with .NET 6 in November 2021. And there is much anticipation. The framework is better integrated into Visual Studio and will enable developers to gracefully handle desktop applications. However, there is a small yet significant spanner in the works. At this time, there is no clear confirmation as to whether the framework will offer Linux Support. Which raises the question, will it ever?
The Development of .NET MAUI
At Microsoft’s 2020 Build conference, the tech giant announced the next step in the evolution of Xamarin.Forms. The company’s aim is to create a single .NET framework combining all the tools developers need to create incredible cross-platform software. And a big step towards this will be to replace Xamarin.Forms with .NET Multi-platform App UI, known as MAUI. Microsoft has rebuilt UI controls from the ground up to enable MAUI to deliver superior performance and extensibility. The framework will allow developers to create native user interfaces for desktop and mobile using a single code base.
In January 2021, Microsoft’s Xamarin team set out what would be next for .NET MAUI. The biggest development on the horizon is to take the open-source, cross-platform framework into the desktop arena. However, the plans seem to have halted when it comes to Linux. It seems that MAUI is aimed at Windows for the Microsoft team rather than community developers.
In January 2021, Microsoft’s Xamarin team set out what would be next for .NET MAUI. The biggest development on the horizon is to take the open-source, cross-platform framework into the desktop arena. However, the plans seem to have halted when it comes to Linux. It seems that MAUI is aimed at Windows for the Microsoft team rather than community developers.
The History between Micorosft and the open-source operating system, Linux, is a complex one. Initially, Microsoft and Linux were very much competitors, although civilised for the most part. However, the competitive battleground seems to have subsided somewhat. Today, the previous enemies have been making peace. In fact, during the last decade, Microsoft has done a lot to boost the Linux open-source ecosystem. Linux has been incorporated into products such as VS Code, Azure and SQL server and it has been fused into the Windows operating system with Windows Subsystem for Linux (WSL). And, even more recently, Micorosft demonstrated WSLg, which lets Windows computers run graphical Linux applications.
However, while Micorosft clearly admits the importance of server-based Linux software, it hasn’t fully accepted it as a desktop operating system. This is becoming increasingly clear in the .NET MAUI development project. Microsoft has acknowledged that Linux support is on their radar; they have no choice but to be aware with so much discussion on the matter. However, it was certainly not on their initial plans for the .NET 6 launch in November.
What Does the Future Hold for Dotnet MAUI Linux?
Many of the features that were planned for .NET 5 didn’t make it because of pandemic-related setbacks. However, it remains to be seen exactly what these features were. It looks like some Xamarin work will be included, but we will likely have to wait until the
November 2021 debut of .NET 6 to find out more. However, even if Linux is supported, it’s probably not going to give the best experience, as it doesn’t seem to be a priority. Even a colossal entity like Microsoft doesn’t have endless resources. As the Linux audience is relatively small, it seems likely that the company will focus on ensuring .NET apps can run on Android, iOS, macOS and Windows. That said, being a new brand in cross-platform development, .NET MAUI also needs credibility. After all, it will need to compete against other cross-platform frameworks like Flutter and React Native, which do support Linux.
Surely, as a unify-everything solution, developers are going to need built-in support for targeting desktop Linux applications. However, at the moment, it seems that Microsoft is more invested in putting Linux in Windows than running Microsoft technologies in Linux. It could end up being a case of community to the rescue. Community contributors will no doubt create a Linux pathway for MAUI, but OS support needs to be first class. That means it will require a huge volume of continual community support to keep it up to date, fix bugs and allow it to thrive.
Anyone interested is going to have to keep a keen eye on the .NET development progress on GitHub project boards. This is where the company highlights the high-level visionary things, the goals and the work that is going into .NET 6. It seems clear that Microsoft will continue to add Linux features to its closed-source operating system. However, what is far less clear, is whether they will give Linux more respect as a desktop operating system. Meanwhile, it’s going to be down to community support to do the heavy lifting.