Welcome to Sands of MAUI, a newsletter that brings together the latest .NET MAUI content relevant to developers.
Sand particles—small and harmless. But when you put a lot of sand particles together, something big—something big enough to fight back. The smallest grains of sand come together to form huge beaches, dunes, and deserts.
.NET developers are excited about the reality of .NET Multiplatform App UI (.NET MAUI), the evolution of the modern .NET cross-platform developer technology stack. With robust tooling and a rich ecosystem, .NET MAUI invites web technologies into the mix while enabling developers to build native cross-platform apps for mobile and desktop from a single shared codebase.
It may be a long flight to the sandy beaches of MAUI, but developers can feel the excitement for .NET MAUI with all the content they create. Like a grain of sand, every news/article/article/video/tutorial/livestream contributes to the developer experience on .NET MAUI, and we grow a community/ecosystem that is willing to learn and help.
Sands of MAUI is a humble attempt to bring together all the great features of .NET MAUI in one place. Here are some highlights this week: September 16, 2024:
.NET Performance
Modern .NET is powerful, open source, cross-platform, and welcomes everyone with a rich ecosystem and mature tooling. The next big milestone for .NET is already underway. .NET 9 is scheduled for release in November 2024. As is the custom for each .NET edition, Stephen Tove We’ve written about the performance improvements in .NET 9, our annual flagship post for the most enthusiastic .NET fans.
.NET 9 is going to be an incredibly exciting release for developers. Over 7,500 pull requests (PRs) were merged into dotnet/runtime last year, many of which impact .NET performance. With a simple benchmark setup, Stephen works on showcasing .NET 9 performance at all levels of the stack: JIT, PGO, Tier 0, Loops, Bounds Checks, Arm64, and more.
With .NET 9, developers will see significant improvements across the .NET libraries, runtimes, and SDKs, all of which help them build modern client, cloud native, and intelligent apps. It’s good to know that no matter how developers use .NET 9, the underlying platform will be able to squeeze every bit of performance out of it. Cheers to Stephen for another year of incredible performance writing.
.NET MAUI Showcase
Modern cross-platform apps are complex. They require thought, design, and development frameworks/tools/patterns. .NET MAUI developers enjoy a rich ecosystem for productivity, but a little inspiration never hurts. Especially real-world success stories. A new case study brings rock climbing to the masses with .NET MAUI, Unity, and Azure. Meet Alpha Outdoors’ Red-Point app.
A passionate rock climber, Martin Mora founded Alpha Outdoors and collaborated with: Matthew RobbinsExperienced .NET developer. The goal was to build a .NET MAUI app Red-Point to make climbing safer and more accessible. The Red-Point app aims to be your digital climbing companion, mapping over 500 climbing areas with 3D drone scans to collect detailed topographic data for each climbing route.
The Red-Point app leverages .NET MAUI for core functionality and basic UI, Unity for 3D rendering for detailed route visualization, and Azure for authentication, data management, and cloud services. Not only has Alpha Outdoors built a sophisticated app using a comprehensive range of .NET technologies and Azure services, it has also positioned itself for continued growth and innovation in the rock climbing community. Red-Point’s success highlights the power of integrating innovative technologies with a clear vision to solve real-world problems. It’s a great success story to inspire .NET MAUI developers.
Android Assets
.NET MAUI is the evolution of the modern .NET cross-platform development stack, enabling developers to reach mobile and desktop form factors from a single shared codebase. Android remains a popular target platform, and the latest .NET aims to enable developers to take advantage of the latest Android platform features. .NET 9 brings exciting new enhancements for Android fans, Dean Ellis We’ve written an announcement: Meet the Android Asset Packs for .NET and .NET MAUI Android apps.
Part of the new Android App Bundle (AAB) package format is the ability to place assets in separate packages. Hence the name Android Asset Packs. This technique allows developers to place assets in separate, larger packages while maintaining the default app package size allowed by Google Play. The only requirement is that everything must be marked with the AndroidAsset build action. The latest .NET build system now fully supports Android Asset Packs for .NET Android and .NET MAUI Android apps. MSBuild metadata is used to control asset pack generation.
Dean walks you through all the metadata configurations that developers can use to set up, check status, and download asset packs as needed, including how to debug and test these solutions with .NET builds. .NET Android and .NET MAUI cross-platform apps can now take advantage of the full potential of Android asset packs. Let’s create amazing Android apps.
.NET MAUI Shell
.NET MAUI is built to enable .NET developers to build cross-platform apps for Android, iOS, macOS, and Windows, with deep native integration, platform-native UI, and hybrid experiences. With increasingly complex app requirements, .NET MAUI is here to help developers succeed. .NET MAUI Shell is here to help. But understanding how to leverage .NET MAUI Shell requires a bit of knowledge, Hector Perez We’ve started a great series on mastering the .NET MAUI Shell.
.NET MAUI Shell aims to reduce the complexity of app development by providing out-of-the-box features such as describing the visual hierarchy of your app, a user-friendly navigation system via flyouts/tabs, a common URI-based navigation scheme, and a unified search handler.
Hector starts from scratch to guide his fellow developers. He creates and connects .NET MAUI Shell pages. Once the Shell is in place, Hector creates several pages with mini-utilities for the user: a color generator that combines three slider values to get an RGB color, and a utility for generating QR codes from a given URL. Using Telerik UI skillfully, Hector devises useful utilities and shows how to easily connect views to navigate the .NET MAUI Shell hierarchy. Kudos for a great article.
Publish the app
VS Code is a popular lightweight code editor that works seamlessly across Windows, macOS, and Linux, offering a rich ecosystem of extensions for .NET development and providing a consistent developer experience. With the C# Dev Kit, the .NET MAUI extension for VS Code, and other solutions, .NET MAUI developers on Mac have the tools they need to be productive. But building a modern app can feel like half the battle. Archiving and publishing apps across platforms is difficult. James Montemagno Hosting Andras Toth A recent .NET related show that may be helpful to developers is how to easily archive and publish .NET MAUI apps in VS Code.
Cross-platform apps are inherently difficult to publish. There are many differences between the iOS, Android, and Windows ecosystems/app stores. .NET MAUI Archive/Publish Tool is here to help. It is a popular Visual Studio Code extension that provides a set of essential tools to streamline the process of packaging/publishing .NET MAUI apps.
András started with the basics. This is how developers get started with the .NET MAUI Archive/Publish VS Code extension. This extension gives developers the tools they need to manage the hard parts of publishing apps right inside VS Code. Certificates, provisioning profiles, keystore files, and more are all made easy to manage. András walks you through the entire developer experience of publishing iOS and Android .NET MAUI apps from inside VS Code. Developer productivity wins!
I’ll end it here for now.
We’ll be back next week with more great .NET MAUI content!
Thank you, developers!