.NET MAUI Workshop: seven parts for building a cross-platform app from scratch
A full day workshop (.NET MAUI Workshop in a Box) on how to build apps with .NET MAUI for iOS, Android, macOS, and Windows
At a glance
- What is it?
- The .NET MAUI Workshop is a day-long kit that takes a single application from an empty project to a themed, map-enabled build across iOS, Android, macOS and Windows. It targets .NET 10 and requires Visual Studio 2026 or VS Code with the C# Dev Kit extension.
- Who is it for?
- The .NET MAUI Workshop suits C# developers who want to build a real cross-platform application rather than work through reference documentation. The seven-part structure covers MVVM, Shell navigation, platform APIs, CollectionView, and theming through a single app.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 6 days ago.
- What is it written in?
- Mainly C#, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 11, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Seven parts, one application, and a 30-minute introduction before the main work
MonkeyFinder is the application the workshop builds from start to finish. It displays a list of monkeys from around the world, retrieves JSON-encoded data from a RESTful endpoint, uses device location to identify the nearest monkey, shows it on a map, and ends up fully themed by Part 6. The README describes it as a full day workshop and a bring your own device event, which means it works as a self-paced exercise without an instructor.
Part 0 covers overview and setup and is the only part with a time estimate in the agenda table: 30 minutes. Parts 1 through 6 cover displaying data, MVVM and data binding, Shell navigation, platform features, CollectionView, and app themes, in that order, with no durations listed for any of them. A 4-hour video walkthrough by James Montemagno is linked in the README and covers the same seven parts end to end.
Visual Studio 2026 and .NET 10 are both required; the IDE choice is yours
The workshop is built on .NET 10. Two IDE paths are supported: Visual Studio 2026 with the .NET MAUI tooling, or Visual Studio Code with the C# Dev Kit extension. The README confirms that development is supported on PC, Mac, or Linux.
For device testing, the README recommends a physical Android handset as the first choice, describing setup as something that can be done in just a few steps. An Android emulator with hardware acceleration is the documented alternative. iOS simulator setup, Windows desktop testing, and macOS desktop testing are not covered in the README; the Setup Guide defers those to the full .NET MAUI installation guide on the Microsoft Learn site.
Before the main workshop, the README recommends a 10-minute .NET MAUI Tutorial on the Microsoft documentation site that covers initial IDE configuration. That tutorial is an external link and not part of the repository itself.
MonkeyFinder.sln spans the full workshop, and each part folder ships its own starter
Attending the workshop from Part 1 is not the only path. The README states explicitly: 'If you came in late, you can open any of the folders and there is a starting project for that section.' Each part folder contains its own README.md with directions for that stage. For a continuous run, the README says to open Part 1 - Displaying Data and open MonkeyFinder.sln, which is the solution file used throughout.
The top-level repository directory contains a Finish/ folder. The README does not mention it. It appears in the directory listing alongside Part 0 through Part 6, Art/, Slides/, docs/, and Community Modules/. Community Modules/ is also absent from the README. Both folders exist in the repository without a description in the main README text.
The repository has no GitHub releases and no version tags. The last push was on 2026-10-06.
One README link labeled .NET MAUI resolves to the Xamarin.Essentials documentation
When the README introduces the location and mapping feature of MonkeyFinder, it describes using .NET MAUI to find the closest monkey and show it on a map. The phrase .NET MAUI in that sentence is a hyperlink. That hyperlink points to the Xamarin.Essentials documentation at docs.microsoft.com/xamarin/essentials, which is not the .NET MAUI documentation. Xamarin.Essentials is a predecessor library whose functionality was folded into .NET MAUI's built-in APIs.
The first .NET MAUI link in the same paragraph points correctly to the .NET MAUI documentation at docs.microsoft.com/dotnet/maui. Both links appear within the same sentence and carry identical link text while pointing to different documentation systems. This looks like a remnant from an earlier version of the README written during the migration from Xamarin.Forms to .NET MAUI. A developer following the second link to understand how device location works in the workshop will reach Xamarin, not MAUI, documentation.
MVVM in Part 2 is the layer that makes Shell navigation and CollectionView work in later parts
Part 2 introduces the MVVM pattern and data binding. MVVM separates the data and logic layer from the UI layer, and the workshop adds this structure early because later parts build on it. Without an MVVM architecture in place, the Shell navigation added in Part 3 would need a different mechanism for passing state between pages.
Shell is .NET MAUI's built-in navigation model, and Part 3 uses it as the navigation backbone of MonkeyFinder. It handles both the visual hierarchy and the routing logic. The agenda table describes it as Navigation with Shell, with no further detail in the main README.
Part 5 covers CollectionView, the control designed for displaying and scrolling through collections of items. The full agenda entry reads CollectionView and Beyond. What beyond covers is not described in the README; that detail lives inside the Part 5 folder. Part 6 applies app themes after the structure is complete, which makes sense as a final step because styles applied there can affect every page built in Parts 1 through 5.
Three language editions use different file suffixes and a query parameter to switch
The workshop is available in English, Simplified Chinese, and Traditional Chinese. English is the default. Simplified Chinese files carry the .zh-cn.md suffix, and the translation was contributed by Kinfey Lo. Traditional Chinese files carry the .zh-tw.md suffix, and the translation was contributed by James Tsai. The two Chinese editions use different suffix conventions.
The interactive workshop site supports a language parameter. Adding ?lang=zh-cn switches to Simplified Chinese and ?lang=zh-tw switches to Traditional Chinese. This is a site-level feature that controls which README files the site renders; it does not change the application being built. Developers who prefer reading locally can use the README.md files inside each part folder, which the main README notes contain the same content as the site.
A Blazor Hybrid companion workshop builds the same MonkeyFinder app with a web-based UI
The README links to a second workshop at aka.ms/blazor-hybrid-workshop. That workshop builds the same MonkeyFinder application using Blazor Hybrid instead of native .NET MAUI controls. The framing in the README is direct: doing both workshops lets you see the differences and similarities between the two approaches.
The difference is in the rendering model. Native .NET MAUI uses the platform's own controls on each target operating system. Blazor Hybrid runs a web-based UI, built with HTML and Razor components, inside a native .NET MAUI shell. By building the same application logic twice, a developer gets a concrete comparison that reference documentation alone does not provide. The README does not say whether the two workshops are maintained in sync or target the same .NET version.
A 4-hour video covers the workshop end to end, but its production date is not recorded
James Montemagno's 4-hour video walkthrough is linked in the README as a full end-to-end run through all seven parts. The README does not record when the video was produced, and there is no note on whether it reflects the current state of the repository. Workshop content and IDE tooling change across framework versions, so a video recorded for an older iteration of the workshop may show different project structures or IDE steps than the current repository contains.
The workshop's scope is also bounded in ways the README does not state directly. App store submission, push notifications, offline data sync, and accessibility testing are not covered. The agenda table defines the scope by listing what is included, and everything outside those seven topics is out of scope by omission. For a first .NET MAUI project that needs to ship to the App Store or Google Play, this workshop teaches the patterns but does not cover the distribution steps.
Editorial conclusion
The .NET MAUI Workshop suits C# developers who want to build a real cross-platform application rather than work through reference documentation. The seven-part structure covers MVVM, Shell navigation, platform APIs, CollectionView, and theming through a single app. Skip it if you need app store submission, offline sync, or accessibility guidance, because those are outside its scope. Before starting, check the full .NET MAUI installation guide on Microsoft Learn and note that one README link in the introduction resolves to Xamarin.Essentials documentation, not .NET MAUI.
Frequently asked questions
What is the .NET MAUI Workshop?
A day-long hands-on guide that builds a cross-platform application called MonkeyFinder, targeting iOS, Android, macOS and Windows. It is structured as seven parts and is built on .NET 10.
What do I need to install before starting the .NET MAUI Workshop?
The README requires .NET 10 and either Visual Studio 2026 with .NET MAUI tooling or Visual Studio Code with the C# Dev Kit extension. Development is supported on PC, Mac and Linux.
Can I start the .NET MAUI Workshop from a specific part without completing earlier parts?
Yes. The README states that each part folder contains a starting project, so you can open any part folder directly. For a complete run, the README says to open MonkeyFinder.sln in the Part 1 - Displaying Data folder.
Is the .NET MAUI Workshop available in Chinese?
Yes. A Simplified Chinese edition uses files ending in .zh-cn.md and a Traditional Chinese edition uses files ending in .zh-tw.md. The interactive workshop site activates them with ?lang=zh-cn and ?lang=zh-tw query parameters.
What application does the .NET MAUI Workshop build?
MonkeyFinder, an app that retrieves a list of monkeys from a RESTful JSON endpoint, uses device location to find the nearest monkey, and shows it on a map. By Part 6 the app is also fully themed.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/dotnet-presentations-dotnet-maui-workshop)