Q&A
Diving Deep into .NET MAUI
Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.
.NET MAUI (.NET Multi-platform App UI) is Microsoft's evolution of Xamarin.Forms, adding the ability to create desktop apps along with the traditional mobile targets of Android and iOS.
As such, it's a step toward coding nirvana, and perhaps no one has kept abreast of this journey more than Sam Basu, Developer Advocacy Manager @ Progress Software, wherein .NET MAUI is featured prominently. If you've looked for .NET MAUI advice, you've likely come across his "Sands of MAUI" weekly newsletter.
So there's nobody better to teach a "Deep Dive in MAUI," which is exactly what he's going to at the Visual Studio Live! developer conference coming to Las Vegas in March.
We caught up with the busy Basu -- also a technologist, author, speaker, Microsoft MVP and gadget-lover -- to learn more about his upcoming session and how attendees can prepare for it.
VisualStudioMagazine: What inspired you to present a session on .NET MAUI?
Basu: .NET MAUI is built to enable .NET developers to create cross-platform apps for Android, iOS macOS and Windows, with deep native integrations, platform-native UI and hybrid experiences. While modern technology stacks/tooling make cross-platform development rather approachable, the reality can be challenging -- it takes deep understanding of platform differences and moving abstractions to pull off a professional app with shared codebase. A back-to-back double session on .NET MAUI is the perfect way to get into the weeds -- explore the nuances of platform reach with evolved architecture, while understanding the complexities of varying UX and deployment mechanisms.
What are the most significant updates in the latest release of .NET MAUI?
With .NET 9, developers see significant enhancements across .NET Libraries, Runtime and SDKs, all toward building modern client, cloud native and intelligent apps. For .NET MAUI, it was quite an impactful past year -- between GA, Preview and Service updates, there were 32 .NET MAUI releases in 2024. The cherry on top is the .NET MAUI release for .NET 9 -- a big GA release bringing lots of framework updates and tooling stability.
"With .NET 9, there were plentiful .NET MAUI enhancements -- new UI components, app lifecycle improvements, better native platform integrations, evolved hybrid story and lots of performance tuning."
Sam Basu, Developer Advocacy Manager @ Progress Software
With .NET 9, there were plentiful .NET MAUI enhancements -- new UI components, app lifecycle improvements, better native platform integrations, evolved hybrid story and lots of performance tuning. With stable tooling, adoption numbers for .NET MAUI are at an all-time high, and developer engagement is impressive -- success stories with production apps inspires more developer confidence. Now is as good a time as any to be a cross-platform developer with .NET -- upwards and onwards with .NET MAUI.
Microsoft early on described .NET MAUI as the evolution of Xamarin.Forms in that it added support for creating desktop apps in addition to the usual mobile targets. From your unique perspective, how has this new capability actually panned out -- how important is it -- in the real-world front lines?
.NET MAUI is essentially the evolution of modern .NET cross-platform development stack, allowing developers to reach mobile and desktop form factors from a single shared codebase. While .NET MAUI did begin with a mobile first mindset, desktop quickly became a first class citizen -- lots of framework/tooling enhancements made demanding desktop needs with mouse/keyboard interactions, easy to implement. A recently public success story is inspiring plenty of confidence -- Fidelity's popular data-dense desktop app that facilitates high-velocity stock trading and has extreme performance demands with real-time streaming data, is written with .NET MAUI and Telerik UI. With solid desktop support, many enterprises are leaning towards .NET MAUI for greenfield desktop development -- a trend only to intensify in future. The evolution of .NET MAUI from mobile first to fully embracing and excelling at desktop development, is complete now, paving the path for developer flexibility and code reuse.
How does .NET MAUI support modern development practices such as MVVM and dependency injection?
As developer platforms mature, common design patterns emerge -- this helps with developer sanity and keeping code maintainable. MVVM is a rather popular development pattern for most XAML/C# codebases and .NET MAUI is no exception -- the popular patterns leads to separation of concern and easy testability of code. With .NET MAUI embracing MVVM, much of the boilerplate features are built right into the framework -- like data binding, navigation, notifications, commands and more. Another fundamental feature baked right inside .NET MAUI is Dependency Injection -- in line with rest of modern .NET platforms. While heavily debated initially, the benefits of Dependency Injection far outweigh the small initial performance hit -- all dependencies are registered and container management is seamless with .NET MAUI runtime.
What's one upcoming feature that developers can expect in the next iterations of .NET MAUI that you're really excited about?
While .NET MAUI is squarely meant for developers to build native mobile/desktop apps, armed with modern smart WebViews, .NET MAUI is more than capable of welcoming web content to native land. In fact, Blazor/JavaScript developers should feel empowered to bring web UI components, routing, styling and more to native cross-platform .NET MAUI apps, while gaining complete native platform API access.
With .NET 9, there were some nice goodies for developers wanting to mix web and native technology stacks (nice to catch up from .NET Conf sessions) -- this story will evolve further with .NET MAUI for .NET 10. The simple goal is better code sharing between .NET MAUI and Blazor -- web UI components and styles can power the experiences on web apps, as well as cross-platform mobile/desktop apps. There is a new Blazor Hybrid and Web app solution template with a shared library between Blazor/.NET MAUI apps that houses all the common UI/styles across platforms. There is also the new HybridWebView UI in .NET MAUI -- a smarter WebView that makes it easier than ever for .NET/JS to communicate, paving the way to welcome more web content built with Angular/React/Vue/etc. to cross-platform hybrid apps.
How is the .NET MAUI community contributing to its evolution, and how can developers get involved?
No developer platform survives without community involvement. The .NET MAUI team routinely points out the uptick in adoption, GitHub stars, many of the impactful content pieces and the huge number of open-source code contributions from the developer community. Developers starting out with .NET MAUI are also greeted with a rich ecosystem -- open source Toolkits, UI libraries and a plethora of professional UI component suites. The developer community around .NET MAUI is honest and welcoming, inviting collaboration and open knowledge sharing -- easy to get involved with other passionate developers.
What resources would you recommend for developers to get up to speed with .NET MAUI and prepare for your session?
The .NET MAUI ecosystem is evolving fast, but thankfully there are lots of resources for .NET MAUI developers to stay up to speed -- here are a handful:
Note: Those wishing to attend the conference can save hundreds of dollars by registering early, according to the event's pricing page. "Save $400 when you Register by the Super Early Bird savings deadline of Jan. 17," said the organizer of the event, which is presented by the parent company of Visual Studio Magazine.
About the Author
David Ramel is an editor and writer at Converge 360.