Welcome to the Sands of MAUI—newsletter-style issues dedicated to bringing together the latest .NET MAUI content relevant to developers.
A particle of sand—tiny and innocuous. But put a lot of sand particles together and we have something big—a force to reckon with. It is the smallest grains of sand that often add up to form massive beaches, dunes and deserts.
.NET developers are excited with the reality of .NET Multi-platform App UI (.NET MAUI)—the evolution of modern .NET cross-platform developer technology stack. With stable tooling and a rich ecosystem, .NET MAUI empowers developers to build native cross-platform apps for mobile/desktop from single shared codebase, while inviting web technologies in the mix.
While it may take a long flight to reach the sands of MAUI island, developer excitement around .NET MAUI is quite palpable with all the created content. Like the grains of sand, every piece of news/article/documentation/video/tutorial/livestream contributes toward developer experiences in .NET MAUI and we grow a community/ecosystem willing to learn and help.
Sands of MAUI is a humble attempt to collect all the .NET MAUI awesomeness in one place. Here’s what is noteworthy for the week of January 29, 2024:
.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 that extend the reach of Blazor/JS web UI technologies. With increased stability and a rich ecosystem, there are lot more developers building cross-platform apps with .NET MAUI. Developer attention is precious, though, and knowledge is often best gained in bite-sized pieces. Maddy Montaquila has started a series of short videos for developers called .NET MAUI Minutes and the another wonderful video is up—reusable styles in .NET MAUI.
Modern mobile/desktop apps should sport delightful UX and that often starts with wonderful UI that entices more app usage. XAML styles provide a convenient way to make apps attractive and have a consistent UI across platforms—and there are multiple ways for .NET MAUI developers to reuse styles throughout the app.
Maddy starts off with a quick introduction to default styling mechanisms in .NET MAUI, followed by easy-to-follow examples of using implicit and explicit styles. Developers have flexibility in how to reuse styles across pages or override cascading options when needed—styles can have specific UI targets and keys for matching. Better still, XAML styles can be combined into classes and UI elements can inherit multiple styles—developer productivity for the win. With easy XAML markup and reusable styles built into .NET MAUI, there isn’t much excuse to not make gorgeous app UI—XAML styles can help make beautiful apps with consistent UI across platforms.
While .NET MAUI provides flexibility for .NET developers wanting to build cross-platform native mobile/desktop apps, the large majority of .NET MAUI developers will likely end up using C#/XAML to define app UI. There is good news for developers wanting to polish up their UI building skills—say hello to January XAML Fest by Leomaris Reyes, a month-long celebration dedicated to all things XAML in .NET MAUI. The goal of the special series is to delve deep into the world of UI design by replicating key portions of UI from renowned apps, and the second article is up—recreate Twitter/X Card UI in .NET MAUI.
With January XAML Fest, Leomaris plans to roll out a collection of articles—each tackling a different piece of UI, breaking down the XAML code, and providing developers with a clear, concise guide to crafting such UI themselves. The Twitter/X Card UI is a sleek and functional interface element that is a staple in modern app design.
Leomaris starts by breaking down the original UI into blocks that can be recreated, complete with everything needed to display a tweet. With concise XAML and explanations every step of the way, Leomaris slowly builds up the Twitter/X UI one block at a time with well-aligned text, images and buttons—there is plenty of UI inspiration for .NET MAUI developers. January XAML Fest is a festival of code and design, where developers are invited to celebrate, learn and enhance UI skills.
Recording user screen from within an app—this might be a niche feature, but could be helpful for modern mobile/desktop apps. To report bugs, for example, users could simply record themselves using the app and send along the video. Screen recording from within the app is about to become trivial for .NET MAUI developers, thanks to Gerald Versluis and the preview of Plugin.Maui.ScreenRecording. To drive home the point, Gerald also produced a video—easily add screen recording to .NET MAUI apps.
Plugins are a great way to expose niche native platform functionality inside cross-platform .NET MAUI apps. To that end, there is quite a bit of help for developers from the .NET MAUI Plugin template repository. Gerald starts off by introducing Plugin.Maui.ScreenRecording, followed by installation of the NuGet package in a sample .NET MAUI project. With a quick extension method, Plugin.Maui.ScreenRecording can be configured to work for .NET MAUI apps. Platform reach includes iOS, macOS and Android.
For .NET MAUI apps wanting to use Plugin.Maui.ScreenRecording, permissions to save screen recording clips to the device media library has to be set up for iOS/macOS/Android—everything is well documented. Usage is rather easy with well-defined APIs to check device capability and start/stop recording. Gerald showcases usage with easy-to-follow sample on Android.
Developers love to hack something together—there is an inner nerdiness in pure creativity through code. While we can shut out the world and hack on our own, it is a different level of fun doing it with fellow developers. Throw in some coffee, learning from the community and experts at hand—you get a recipe for a fun day.
That’s exactly what the folks at SSW / SSW TV have planned for .NET MAUI developers—say hello to MAUI Hack Day, happening in person and online on Saturday, February 3, 2024.
MAUI Hack Days are community run events catering to .NET MAUI developers—for folks just diving into the world of .NET MAUI and seasoned developers alike. Hosted by Matt Goldman and Adam Cogan, MAUI Hack Day brings together experts from all around the world for a day of energized learning and churning out some code. MAUI Hack Day is a must-attend for all .NET MAUI enthusiasts—the perfect opportunity to skill up in down under, particularly Sydney, Melbourne, or Brisbane or entirely online.
.NET MAUI is 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 is clearly the way forward, Xamarin is still the reality for many developers and enterprise apps.
With an end date in sight, many are plotting or in the middle of migration to .NET MAUI. There are some important dates and framework/tooling updates for folks in the Xamarin world though, and Leomaris Reyes wrote up the perfect summary—timeline of important events in the Xamarin ecosystem.
Inspired by details from David Ortinau, Leomaris plotted out important dates/events for developers dealing with Xamarin apps—the most important date is May 1, 2024, when official support for all Xamarin SDKs, including Xamarin.Forms, will end. Since Xamarin cross-platform apps have dependencies on underlying native platforms, there is marked shelf life for iOS/Android apps written with Xamarin SDKs—April 2025 for Apple store apps using XCode 15, and August 2025 for Google Play apps targeting API 34.
With .NET 8 paving the way for stable framework, tooling and performance updates, .NET MAUI will also stop support for .NET 7 in May 2024. Along the way, there are tooling updates for Xamarin/.NET MAUI developers as well—while Visual Studio for Mac retires in 2024, Visual Studio Code is rapidly building up features, while Visual Studio continues to be the gold standard for IDEs on Windows. Thanks, Leomaris, for recapping crucial dates/announcements—much appreciated by Xamarin and .NET MAUI developers.
That’s it for now.
We’ll see you next week with more awesome content relevant to .NET MAUI.
Cheers, developers!
Sam Basu is a technologist, author, speaker, Microsoft MVP, gadget-lover and Progress Developer Advocate for Telerik products. With a long developer background, he now spends much of his time advocating modern web/mobile/cloud development platforms on Microsoft/Telerik technology stacks. His spare times call for travel, fast cars, cricket and culinary adventures with the family. You can find him on the internet.