MMS • Edin Kapic
On November 8th, 2022, Microsoft announced the general availability of their .NET multiplatform framework MAUI for the recently launched .NET 7 major release. MAUI is now supported on both .NET 6 and .NET 7, running on Windows, macOS, iOS, Android and Tizen. The open-source MAUI Community Toolkit has also been updated in coordination.
MAUI is an acronym that stands for Multiplatform Application UI. According to Microsoft, it’s an evolution of Xamarin and Xamarin Forms frameworks, unifying separate target libraries and projects into a single project for multiple devices. Currently, MAUI supports writing applications that run on Android 5+, iOS 11+, macOS 10.15+, Samsung Tizen, Windows 10 version 1809+, or Windows 11.
The version 7 of MAUI brings the support for .NET 7, as the version released for Visual Studio 17.3 was only supporting .NET 6 upon launch in . The Visual Studio update 17.4 now supports full MAUI workload on .NET 7. To upgrade from .NET 6, only the target framework moniker (TFM) in the project file has to be changed.
Together with the support for .NET 7, the MAUI update also brings the support for Tizen, the mobile operating system from Samsung. Another important highlight from the new release is the native MAUI map control, lifted and updated from Xamarin.
Later in November, after the release, Microsoft added .NET MAUI with .NET 7 as a supported workload for Visual Studio on Mac.
.NET MAUI is now supported on .NET 6 until May of 2023 and on .NET 7 until May of 2024. This is consistent with .NET concurrent versions support.
.NET MAUI Community Toolkit (NMCT) is one of Microsoft’s .NET community toolkits hosted on GitHub. Their purpose is to let the community contribute useful code missing in the official frameworks. The community toolkits are released as open-source software and they encourage the developers to submit their contributions.
An updated version of NMCT was released the day after the .NET 7 official launch. The version 3.0.0 of the toolkit brings support for .NET 7, as expected, together with the support for Tizen.
There are three new components available in the NMCT 3.0.0:
- Expander view allows for simple content reveal when the header is clicked.
- DockLayout brings the capability to dock views to the sides of the layout container.
- StateContainer allows for multiple views of the content, based on the state, such as no content state, errored state, normal state and loading state.
The .NET MAUI Community Toolkit is versioned in three different releases, allowing for the use of the toolkit by both .NET 6 and .NET 7 developers:
- Version 1.4.0 includes the new components on .NET 6
- Version 2.0.0 brings Tizen support on .NET 6
- Version 3.0.0 includes the support for .NET 7