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.
Most .NET developers are looking forward to .NET Multi-platform App UI (MAUI)—the evolution of Xamarin.Forms with .NET 6. Going forward, developers should have much more confidence in the technology stack and tools as .NET MAUI empowers native cross-platform solutions on mobile and desktop.
While it is a long flight until we reach the sands of MAUI, developer excitement is palpable in all the news/content as we tinker and prepare for .NET MAUI. Like the grains of sand, every piece of news/article/video/tutorial/stream contributes toward developer knowledge 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 31, 2022:
What comes immediately after every .NET MAUI Preview release—a helpful Gerald Versluis video breaking down all that’s new for developers. Gerald produced an overview of .NET MAUI Preview 12 video, recapping what’s new in the latest release and paving a path for developers to get started.
As .NET MAUI nears RC/GA, the releases are focusing more on stability, but Preview 12 packs a punch with Shell improvements for .NET MAUI. The much-hyped Dependency Injection support is fully baked in now, and developers can actually use DI with Shell—Gerald shows off a elegant example of .NET MAUI Shell Dependency Injection in action.
Bryan Hogan hosts the No Dogma podcast and invited Brandon Minnick to talk about all things .NET MAUI. The casual conversation touched upon all UI choices developers have on the .NET stack to reach desktop/mobile and the eventual evolution into .NET MAUI.
Brandon talks about the benefits of .NET MAUI in reaching modern mobile and desktop platforms from a shared single codebase and developer flexibility that comes from .NET MAUI interface-based Handler architecture. Talking points meandered into how .NET developers building web apps with Blazor are now welcome to bring web goodness into native apps and share code easier.
Want to know all the fun you have when shipping apps to the App Stores? Brandon has good stories with his popular GitTrends app, which may see an upgrade from Xamarin.Forms to .NET MAUI someday. Thinking of getting into .NET MAUI—this podcast episode is your perfect relaxed way in.
.NET MAUI brings in consistency with rest of .NET ecosystem as to how apps are bootstrapped—the .NET Generic HostBuilder pattern is the one in use. The MauiProgram class provides a single point of entry for .NET MAUI apps and brings in all configurations/registrations for services. However, experienced .NET developers know that application startup code can often get long and messy—Luis Matos offers a few remedies with best practices on how to organize .NET MAUI startup.
Luis starts off talking about all the Services available for wiring up as a .NET MAUI app starts up—like Handlers, Configurations, managing Fonts/Images and more. One wonderful pattern for organizing all things needed on .NET MAUI startup is an Extension Method—a way to extend an existing type without creating a derived type or modifying the original one. Be it Fonts/Services/Handlers/third-party libraries, Extension Methods make it easy to register dependencies and split each configuration into separate files—Luis shows off the benefits of organization sanity as .NET MAUI apps get started up.
Michael Ridland has started a wonderful article series—.NET MAUI Source of Truth. As developers know, source code is the purest form of truth in working software—so Michael is diving deep into .NET MAUI source code and sharing experiences. The latest writeup explores Overlays in .NET MAUI and the present state of implementation across platforms.
Michael notes that while there are clear methods to Add/Remove Overlays on top of existing Views/Windows, finding how it works takes a bit of digging around—a Draw method exists on the WindowOverlay with implementations for each platform. With it being early days for .NET MAUI, there are implementations to draw/invalidate/redraw Overlays—but there is no support for Controls, Animations or Transitions yet. Overlays can be handy for many UI scenarios and Michael hopes this functionality is developed further in .NET MAUI.
Two friends and nerds make a tech podcast—that’s James Montemagno and Frank A. Krueger doing Merge Conflict. For the 290th Merge Conflict episode, the duo opened up for a lightning round of questions fed by the audience, and most talking points evolved around modern client-side app development, in particular, .NET MAUI.
The whirlwind quick-fire show touched upon most things on developer minds—.NET 6, Minimal APIs, Comet for MVU, Xamarin.Forms, Visual Studio, desktop setups, the latest with iOS/Android and, of course, many things .NET MAUI. Give it a listen on your next long drive.
That’s it for now.
We’ll see you next week with more awesome content relevant to .NET MAUI.
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.
Subscribe to be the first to get our expert-written articles and tutorials for developers!