At the launch of .NET 10, .NET MAUI receives a suite of updates focused on quality, performance and developer productivity. While no new big UI changes are there, the enhancements fill in missing details in cross‑platform workflows and refine long‑standing platform behaviour issues.
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 12.2+, macOS 12+ (as Mac Catalyst), Samsung Tizen (provided by Samsung), Windows 10 version 1809+, or Windows 11. .NET 10 MAUI brings updated version bindings for Android 16 (API 36 and 36.1) and iOS 26.
MAUI ships in .NET 10 as a .NET workload and a set of multiple NuGet packages, giving developers finer control over versions that their apps will support. Additionally, MAUI introduces a new project template integrated with the .NET Aspire service-defaults project: by invoking builder.AddServiceDefaults() in MauiProgram, apps gain built‑in OpenTelemetry metrics, tracing and service discovery wiring.
A new XAML source generator now compiles XAML at build time rather than parsing at runtime, which means earlier error detection, faster startup and inspectable generated code. An experimental feature is available for using CoreCLR instead of the Mono runtime. This feature alone is very well received among developers, who praise that it ‘really gives MAUI a rebirth’.
Developers can also adopt global and implicit XML namespace declarations, reducing repetitive xmlns: attributes and enabling cleaner markup.
MAUI standard markup file:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:models="clr-namespace:MyApp.Models"
xmlns:controls="clr-namespace:MyApp.Controls"
x:Class="MyApp.MainPage">
<controls:TagView x:DataType="models:Tag" />
</ContentPage>
MAUI 10 implicit namespace declarations file:
<ContentPage x:Class="MyApp.MainPage">
<TagView x:DataType="Tag" />
</ContentPage>
MAUI’s core controls get cleaner behaviour: on iOS and Mac Catalyst, the improved handlers for CollectionView and CarouselView introduced in .NET 9 are now used by default, increasing stability and performance.
The HybridWebView control now offers new initialisation events (WebViewInitializing, WebViewInitialized), an overload of InvokeJavaScriptAsync for fire‑and‑forget invocations, and web request interception capabilities (e.g., modifying headers, redirecting requests, supplying local responses).
Safe area behaviours are refined: the SafeAreaEdges property appears across Layout, ContentView, ContentPage, Border and ScrollView controls, using a new enum (None, SoftInput, Container, Default, All) to allow granular control of content under device cutouts, home indicator, keyboard overlays and similar platform restrictions.
Some legacy APIs are deprecated. ListView, EntryCell, ImageCell, SwitchCell, TextCell, and Compatibility.Layout are marked removed in favour of streamlined modern constructs.
The support policy for .NET MAUI (due to dependencies like Xcode/Android SDK) differs from .NET Core support policy. While .NET versions are supported for 3 years after release (for LTS releases) and one year after a new version launches (for STS releases), MAUI versions are supported only for 6 months after a new release. However, MAUI workloads are installed independently of .NET releases, as they ship in form of NuGet packages..
For more information, explore the official Microsoft “What’s new in .NET MAUI for .NET 10” documentation, the .NET blog post announcing .NET 10, and the GitHub release notes for MAUI.
