At its Build 2002 virtual conference this week, Microsoft announced how it will evolve its Xamarin.Forms cross-platform developer framework that will target Windows 10, macOS, Android, and iOS/iPadOS.
“With .NET 5 we begin our journey of unifying the .NET platform, bringing .NET Core and Mono/Xamarin together in one base class library and SDK,” Microsoft’s Scott Hunter announced. “As we consider what building device applications will look like in a unified .NET, we see many devices across multiple platforms used, from Android and iOS to Windows and macOS. To address this need we are excited to announce a new first-class UI framework for doing just that: .NET Multi-platform App UI, affectionately call .NET MAUI.”
Today, Xamarin.Forms lets you use Visual Studio to create a single solution that targets both Android and iOS using the same codebase (and it originally supported Universal Windows Platform apps that would run on Windows Mobile as well). In the future—possibly in the .NET 6 timeframe, or late 2021—.NET MAUI will support “all modern workloads,” though Linux is interestingly not included in that list. And it appears that it will work similarly, where developers will create a single solution in Visual Studio that can target each of the four supported platforms.
MAUI delivers “one project targeting multiple platforms and devices, one location to manage resources such as fonts and images, and multi-targeting to organize your platform-specific code,” Microsoft says. It will provide modern app development patterns, including Model-View-ViewModel (MVVM) and Model-View-Update (MVU), and developers can choose which style works best for them. Maui will also support migrating from existing Xamarin.Forms codebases.
The first .NET MAUI previews will arrive later in 2020, Microsoft says, and it expects MAUI to hit general availability with .NET 6 in November 2021. Before that, the firm will also ship a major update to Xamarin.Forms, though all modern work will shift to MAUI after that.
The big question here, of course, is how or whether .NET MAUI intersects with Project Reunion and WinUI 3.0. And … that’s not clear yet. I could see them merging in the future, at least optionally, as a truly universal platform of sorts. And such a thing might compete better with Flutter, which is also expanding from its mobile roots to support desktop platforms and the web too.
Tagged with Xamarin.Forms