| MAUI-Layouts | MAUI-index | |
.NET MAUI Overview |
.NET Multi-platform App UI ( .NET MAUI) is Microsoft's flagship open-source framework designed for building native, cross-platform applications for Android, iOS, macOS, Windows, and Tizen from a single, unified codebase. Released as the official successor to Xamarin.Forms, it represents a major architectural evolution that prioritizes developer productivity, native performance, and a streamlined project structure.
.NET MAUI is the official successor to Xamarin.Forms, rebuilt from the ground up for better performance and extensibility. Its primary goal is to maximize code reusability (up to 95% in many cases) while maintaining native performance and feel on every device.
The architecture of .NET MAUI is designed to abstract platform-specific complexities while delivering native interfaces.
The "magic" of .NET MAUI lies in its ability to abstract platform-specific complexities while still delivering truly native experiences. Unlike hybrid frameworks that render UI inside a web view, .NET MAUI maps its cross-platform controls directly to native UI components provided by each operating system.
Unified Project System One of the most significant changes from the Xamarin era is the transition to a single project structure. Instead of managing separate projects for each target (e.g., MyApp.Android, MyApp.iOS), developers work within a single project where platform-specific resources like fonts, images, and app manifests are shared and handled automatically by the build system.
Handler Architecture In .NET MAUI, "Renderers" (from Xamarin) have been replaced by a more decoupled Handler architecture. This new design is more performant and makes it easier for developers to customize or "hook into" native controls without having to create complex custom renderers.
Platform-Specific Compilation:
As of 2025, .NET MAUI has matured into a production-ready ecosystem with deep integration into modern development workflows.
Choosing .NET MAUI is particularly advantageous for teams already invested in the Microsoft ecosystem.
While .NET MAUI is a general-purpose framework, it excels in specific industrial scenarios:
To get started, developers typically follow these steps:
Windows Presentation Foundation (WPF) is a UI framework introduced by Microsoft for building rich desktop applications on Windows. It uses XAML for designing user interfaces and supports advanced features such as data binding, styles, templates, and graphics rendering. WPF applications are limited to the Windows operating system and are primarily used for desktop scenarios.
.NET Multi-platform App UI (MAUI) is the evolution of Xamarin.Forms and is designed to build native applications across multiple platforms (Android, iOS, macOS, and Windows) using a single codebase. Like WPF, it uses XAML for UI design, but it introduces cross-platform concepts such as unified project structures, platform handlers, and Shell navigation. MAUI allows developers to reuse their .NET and C# skills to target mobile and desktop environments.
While WPF and MAUI share similarities in their use of XAML and MVVM architecture, they differ in scope and purpose. WPF is focused on Windows desktop applications, whereas MAUI is cross-platform. MAUI introduces lifecycle management for mobile devices, runtime permissions, and platform-specific APIs. Navigation in MAUI is simplified with Shell, compared to WPF’s frame-based navigation. Deployment also differs: WPF apps are packaged for Windows, while MAUI apps can be published to app stores across multiple platforms.
| Category | WPF | .NET MAUI |
|---|---|---|
| Project Type | Windows desktop apps only | Cross-platform (Android, iOS, Windows, macOS) |
| UI Definition | XAML (Windows-specific) | XAML (cross-platform) |
| Main Container | Window | Page (ContentPage, NavigationPage, Shell) |
| Layouts | StackPanel, Grid, DockPanel, WrapPanel | StackLayout, Grid, FlexLayout, AbsoluteLayout |
| Controls | TextBox, Button, ListBox, DataGrid | Entry, Button, CollectionView, ListView |
| Navigation | Frame navigation, MVVM frameworks | Shell navigation, NavigationPage, deep linking |
| Resources | ResourceDictionary, StaticResource, DynamicResource | ResourceDictionary, StaticResource, DynamicResource (cross-platform) |
| Styling | Styles, ControlTemplates, Triggers | Styles, ControlTemplates, VisualStateManager, Behaviors |
| Data Binding | One-way, Two-way, INotifyPropertyChanged | Same concepts; optimized for cross-platform |
| Lifecycle | App startup/shutdown (desktop only) | OnStart, OnSleep, OnResume; mobile and desktop lifecycle |
| Platform Access | Windows APIs only | Cross-platform APIs (camera, GPS, sensors, notifications) |
| Deployment | Windows installer (MSI, ClickOnce) | App Store, Google Play, Windows Store, macOS distribution |
Choose WPF if you are building a Windows-only enterprise application that requires high-performance graphics, specialized Windows-only APIs, or a highly stable, mature ecosystem.
Choose .NET MAUI if you need to reach a broader audience across mobile and desktop or if you want to future-proof your application for potential cross-platform expansion.
While migrating from WPF to MAUI is not a "copy-paste" process due to differences in UI controls and namespaces, developers can typically reuse their business logic, models, and ViewModels if they have followed the MVVM (Model-View-ViewModel) pattern.
WPF remains a powerful framework for Windows desktop applications, but .NET MAUI extends the reach of .NET developers to mobile and cross-platform scenarios. Developers with WPF experience will find many familiar concepts in MAUI, such as XAML and MVVM, but must adapt to new paradigms like Shell navigation, lifecycle management, and platform APIs. By following best practices, developers can build performant, maintainable, and scalable applications across multiple platforms using .NET MAUI.
| MAUI-Layouts | MAUI-index | |