// the find
dotnet/maui
.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
The official Microsoft framework for building native cross-platform apps targeting Android, iOS, macOS, and Windows from a single C# codebase. It's the spiritual successor to Xamarin.Forms, now with desktop support and tighter .NET integration. Aimed at .NET developers who want to ship to multiple platforms without maintaining separate native projects.
Single codebase genuinely works across all four major platforms — not a lowest-common-denominator web view, but actual native controls via a handler architecture. The handler pattern (replacing Xamarin's renderer model) makes it much more practical to drop down to platform-specific APIs without hacking around abstractions. Hot reload and Visual Studio tooling integration are solid for day-to-day development velocity. Microsoft is actively investing: .NET 10 shipped meaningful improvements, and the community toolkit adds substantial real-world controls the base framework wisely omits.
Build times are painful — a clean build on a mid-range machine for even a simple app can take several minutes, and the Xcode/Android SDK dependency chain adds setup friction that never fully goes away. The abstraction layer leaks constantly: platform-specific behavior differences in layouts, fonts, and gestures mean you end up writing `#if ANDROID` blocks more than the marketing suggests. Hot reload is unreliable enough that you can't fully trust it and find yourself doing full rebuilds anyway. Documentation quality is uneven — the official docs cover happy paths well but go thin fast when you hit edge cases, and too many answers still live in Xamarin.Forms StackOverflow threads that may or may not apply.