Q&A

Create Multi-platform Apps with .NET MAUI and the MAUI Community Toolkit

Cross-platform app development has long appealed to teams trying to do more with less: one set of skills, one shared architecture and, ideally, one codebase that can reach users across phones and desktops alike. The challenge, of course, is that "write once, run anywhere" has historically been easier to promise than to deliver.

Developers still have to think about UI patterns, platform capabilities, tooling, maintainability and how much complexity they're really saving versus just relocating it. For .NET shops especially, that makes the evolution of .NET MAUI worth watching. It represents Microsoft's current answer to building native-feeling apps for iOS, Android, macOS and Windows with C# and .NET, while surrounding that core platform with productivity-focused tooling and libraries meant to reduce repetitive work and smooth out common pain points.

That matters because modern app teams are under pressure from two directions at once: they need to move faster, but they also need to support more devices, more polished user experiences and more integration with platform-specific features.

A framework such as .NET MAUI becomes more compelling when it is paired with supporting pieces that help developers get from concept to working application more quickly. That is where the .NET MAUI Community Toolkit and MVVM Toolkit enter the picture, offering ready-made controls, helpers and boilerplate-reduction techniques that can make cross-platform development more approachable for newcomers and more efficient for experienced XAML developers.

That sets the stage for Create Multi-platform Apps with .NET MAUI and the MAUI Community Toolkit, an introductory session at the Visual Studio Live! San Diego developer conference in September. The session will be presented by Alvin Ashcraft, senior content developer at Microsoft. He will walk attendees through several ways to get productive with .NET MAUI, including building apps with XAML, C# and VS Code, using controls and extensions from the MAUI Community Toolkit, applying the MVVM pattern with less boilerplate and creating MAUI apps without XAML by using C# Markup.

"There are a growing number of cross-platform options for developers today. However, if you're a .NET developer and your company is looking for a 100% Microsoft-backed solution, .NET MAUI is the perfect platform for you."

Alvin Ashcraft, Senior Content Developer, Microsoft

It's the kind of session that speaks to practical developer concerns rather than platform theory. For some attendees, the draw will be learning how to accelerate everyday app development with toolkit components and MVVM helpers. For others, it may be the chance to better understand when a XAML-based approach makes sense, when dynamic UI scenarios call for C# Markup, or how far developers can go in accessing device-specific features without having to drop into separate platform code for each target OS. Either way, the topic reflects a larger reality in modern development: cross-platform success depends not just on sharing code, but on having the right abstractions, tools and patterns to keep that shared code manageable.

We caught up with Ashcraft ahead of the session to learn what inspired him to present on the topic, which parts of the MAUI ecosystem he finds most useful in real projects and what attendees can do now to prepare for the talk.

Inside the Session

What: Create Multi-platform Apps with .NET MAUI and the MAUI Community Toolkit

When: Sept. 16, 2026, 8 a.m. - 9:15 a.m.

Who: Alvin Ashcraft, Senior Content Developer, Microsoft

Why: Learn how to build cross-platform apps with .NET MAUI using XAML, C#, and VS Code, use MAUI Community Toolkit controls such as CameraView and MediaElement, and reduce MVVM boilerplate with toolkit features.

Find out more about Visual Studio Live! San Diego taking place Sept. 14-18, 2026

VisualStudioMagazine: What inspired you to present on this topic?
Ashcraft: I've been a long-time user and fan of the Community Toolkit projects, dating back to the UWP Community Toolkit's first release about 10 years ago. Over the years, they've served as a platform for community engagement, experimentation, and innovation. They offer controls, styles, and other utilities that might not apply to a broad enough user base to make it into the core product, but they fill a need for many developers.

I wanted to pass along my experience with and passion for the toolkits to the .NET MAUI community.

What makes .NET MAUI a strong starting point for developers who want one codebase across iOS, Android, macOS and Windows?
There are a growing number of cross-platform options for developers today. However, if you're a .NET developer and your company is looking for a 100% Microsoft-backed solution, .NET MAUI is the perfect platform for you. Developers with experience in any XAML-based UI framework can quickly ramp up on MAUI development.

The latest versions of .NET MAUI have also simplified the project structure. Xamarin solutions and earlier .NET MAUI solutions had multiple projects for targeting the various target operating systems. Today, you have a single project, with your platform-specific code tucked away in a logical folder structure. Unless you're working with some device-specific functionality, you're writing a single set of classes for all platforms and devices.

In your session, what is the fastest way for a developer to get productive with .NET MAUI using XAML, C# and VS Code?
Building .NET MAUI apps with Visual Studio on Windows is the most productive and feature-rich way to get started with MAUI. The experience in VS Code with the C# Dev Kit and the .NET MAUI extension has come a long way in the last several years. If you're most comfortable in VS Code, you can build .NET MAUI apps on Windows or macOS, with a great coding and debugging experience. You can even create and debug .NET MAUI apps for Android in VS Code on Linux.

However, Visual Studio has the richest feature set, including a wide range of debugging and profiling tools for .NET MAUI developers. Most of my session demos are in Visual Studio, so I can show off those tools for developers.

Which feature from the .NET MAUI Community Toolkit do you find most helpful for speeding up real app development?
Controls that plug into device-specific functionality are the biggest time savers. My two favorite examples of this are the CameraView and MediaElement controls. CameraView has features to take photos, videos, and to preview and stream live input from users' cameras. It works across Windows, macOS, Android, and iOS devices. The MediaElement control offers audio and video playback capabilities on all the same platforms. Writing this kind of platform-specific integration across multiple platforms used to be a monumental effort with separate code for calling the native APIs on each platform. Now, it's all baked into the toolkit.

How does the MVVM Toolkit help reduce boilerplate without making app structure harder for beginners to understand?
I love the MVVM Toolkit. I use it on every XAML-based project I build. Developers used to write so much more code in their View Model classes, and it made it difficult to understand the actual intent of the classes.

In the early days of Model-View-ViewModel (MVVM), in a traditional View Model, you implement the INotifyPropertyChanged interface and trigger PropertyChanged notifications throughout your various property setters. Later, developers either abstracted the INotifyPropertyChanged implementation into a base class or used a framework like Prism or MVVMLight (the precursor to the MVVM Toolkit) to provide base classes and other helpers. That simplified View Models quite a bit.

The MVVM Toolkit takes it a step further by leveraging .NET source generators to hide most of your boilerplate code in partial classes, generated as you write and build your code. By inheriting from the toolkit's ObservableObject and decorating your private members with attributes like [ObservableProperty] and [RelayCommand], you're putting all the boilerplate in a partial class you never need to see.

It can be confusing at first glance, but one quick demonstration will make most XAML developers' eyes light up.

What kind of project is especially well-suited to building a MAUI app with C# Markup instead of XAML?
This is something I discuss in my session. If you really want to avoid XAML at all costs, you can use C# Markup for every .NET MAUI project you build. The real sweet spot for these C#-only projects is apps that have a user interface that's dynamic. Many times developers will take advantage of a ListView or DataGrid to construct a data-driven UI, but if large portions of your screens are driven by the size and shape of your underlying data, you can build it completely dynamically at runtime in your C# code.

Think about a user input form that has config-driven templates stored in back-end. With C# Markup, you can load the data at runtime, iterate over it and build the UI based on the template you're loading. There's no need to create a new screen in your app every time a customer wants to add a new type of input. One deployment with a single codebase to build infinite variations of your UI.

What should developers know before trying to reuse web CSS styles inside a .NET MAUI project?
CSS styling in .NET MAUI was an amazing idea for web developers moving to XAML, and it makes for a pretty cool demo, but it has limitations. The main problem is that it hasn't been enhanced much since it was initially released. As a result, it only works in the simplest use cases. There are quite a few controls and properties that don't support CSS styling, and it's not supported by Hot Reload. The CSS files are parsed and evaluated at runtime, not compile-time.

How does .NET MAUI simplify access to device-specific features without requiring platform-specific code in every case?
There's a whole set of .NET MAUI APIs for accessing platform-specific features for communication, media, sharing, storage, and device features like geolocation, haptics, battery and sensors. All of these APIs are in libraries that abstract away the device-specific APIs, but they're still in the runtime. So, you get all the native features without having to write any of the platform specifics yourself.

How can attendees learn more about this topic, and prepare for your session?
I always start with the documentation on Microsoft Learn. There are comprehensive docs on .NET MAUI, the MAUI Community Toolkit, and the MVVM Toolkit on Learn:

You can also visit the GitHub repository for the .NET MAUI Community Toolkit to read about recent releases, view the roadmap, or suggest a feature.

Note: Those wishing to attend the session can save money by registering early, according to the event's pricing page. "Save $400 by registering by the July 17 Super Early Bird Savings deadline!" 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.

comments powered by Disqus

Featured

  • VS Code 1.123 Adds Agent Session Sync, 1M Context Windows

    Microsoft released Visual Studio Code 1.123 on June 3, adding agent-focused features, larger model context support, integrated browser updates and a new delay for some automatic extension updates.

  • Copilot Billing Shock Hits Developers

    Developer complaints about GitHub Copilot's new usage-based billing model have centered on unexpectedly rapid AI credit consumption, and neither GitHub nor Microsoft has responded directly to the backlash, though they have previously published guidance to lessen model usage costs.

  • Hands On with GitHub Copilot App Technical Preview: Turning a Blazor Issue into a PR

    GitHub's brand-new Copilot desktop app, in technical preview, handled a small Blazor issue from planning through pull request creation, but the hands-on test also showed why developers still need to verify agent work in the running app before merging.

  • At Build 2026, Microsoft Sets Up Windows as an OS for AI Agents

    Microsoft's Build 2026 Windows developer announcements point to a broader platform strategy for agentic AI, spanning terminal workflows, local models, app-building skills, Cloud PCs and operating system-level containment.

Subscribe on YouTube