Welcome to the Sands of MAUI—newsletter-style issues dedicated to bringing together 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 excited with .NET Multi-platform App UI (.NET MAUI)—the evolution of modern .NET cross-platform developer experience. Going forward, developers will be empowered with the .NET MAUI technology stack and stable tooling to build native cross-platform apps for mobile/desktop from single shared codebase.
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 towards developer knowledge 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 August 14, 2023:
The next milestone in the evolution of .NET is coming up soon—.NET 8 has been cooking and is scheduled to hit prime time in November 2023. The latest .NET 8 bits are out—.NET 8 Preview 7 is now available. Along with the latest .NET 8 release come hot new bits for .NET MAUI and David Ortinau wrote up the release announcement—.NET MAUI for .NET 8 Preview 7 is now out.
This is the final Preview release for both .NET 8 and .NET MAUI for .NET 8—beyond this, what would ship are Release Candidates (RC) and the Generally Available (GA) release.
The big new thing in the latest .NET MAUI release has emphasis on desktop apps—say hello to Keyboard Accelerators. The new Keyboard Accelerators enable developers to assign keyboard shortcuts to any menu item, whether visible or not, and attach them to any UI element.
Most desktop app users expect advanced usability and app navigation with mouse/keyboard, and Keyboard Accelerators enable that UX. Developers can add an accelerator with the MenuItem.Accelerator attached property—now users can either tap/click on a menu item or fire off the same action with the assigned keyboard shortcuts.
The other main focus in the latest .NET MAUI release is on bug fixes and quality improvements—there are plenty of enhancements with memory leak resolutions, UI control functionality, input control interactions and more. It's upwards and onwards for .NET MAUI until the .NET 8 milestone—cheers to modern .NET cross-platform development.
Developer excitement is palpable for .NET MAUI—the evolution of cross-platform .NET development stack reaching mobile/desktop from a shared codebase. The .NET MAUI team hosts a monthly Community Standup livestream to celebrate all things .NET MAUI and provide updates—a wonderful way to bring the developer community together.
Maddy started the show covering the usual developer community contributions and talking about DevBox—conversations were a little more free flowing without David Ortinau's dad mode. It was then time to turn to the two special guests for the show—Michael Cummings and Ema Fernandez Dell'Oca.
It is now easier than ever for developers to get started with .NET MAUI, even with a light weight code editor like Visual Studio Code. Ema and Michael had worked on the .NET MAUI Extension for VS Code and were happy to show off some hot new pre-release bits. Creating and debugging .NET MAUI apps from VS Code is a breeze now, as well as configuring deployment options across platforms—there is much to improve, but it is a really good start.
The trio then did an extended and honest Q&A session—plenty of good things happening for developers on the tooling front with .NET MAUI.
.NET MAUI packs a lot as a developer framework—a unified stack with stable tooling to build native cross-platform apps for mobile/desktop form factors. Real world apps, however, demand a lot from developers—UI needs, boilerplate code and platform abstractions.
The .NET MAUI Community Toolkit is here to help—a collection of reusable elements for .NET MAUI, including animations, behaviors, converters, effects, helpers and more. Gerald Versluis made the sweet announcement—.NET MAUI Community Toolkit version 5.3.0 release is out.
The latest .NET MAUI Community Toolkit 5.3.0 release is full of awesomeness, thanks to so many community contributions. There is a new BadgeCounter UI, with easy API for developers to show notification counts on .NET MAUI app icons. Popups are now better than ever, with extensive bug fixes around sizing, positioning, propagating BindingContext to Popups, as well as reliable ways for developers to close Popups.
AppTheming gets a bunch of new helpers—there are new APIs to help developers supporting light/dark themes in .NET MAUI apps. With lot more bug fixes and enhancements, the .NET MAUI Community Toolkit continues to be a trusted companion for .NET MAUI developers.
.NET MAUI is squarely meant for developers to build native mobile/desktop apps—however, armed with modern smart WebViews, .NET MAUI is more than capable to welcome web content to native land. In fact, Blazor developers should feel empowered to bring Blazor UI components, routing, styling and more to native cross-platform .NET MAUI apps, while gaining complete native platform API access.
James started out with a refresher on .NET MAUI and Blazor Hybrid apps—the promise of welcoming Blazor developers to native mobile/desktop world should be well-established by now. With the experimental HybridWebView for .NET MAUI by Eilon Lipton, developers have a more flexible WebView to host web content inside .NET MAUI apps. The real benefit with HybridWebView is easy communication between the code running inside the WebView with the WebView host—yes, .NET and JS can freely talk to each other.
James showed off the classic ReactJS web app running inside a cross-platform .NET MAUI native app, with easy communication with backend .NET—developers now have a lot of flexibility to mix and match native UI with web UI for seamless code sharing.
Based on an idea originally started for Xamarin by Steven Thewissen, MAUI UI July was a month-long community-driven event, where anyone got to share their enthusiasm and passion for .NET MAUI.
Run by Matt Goldman, MAUI UI July this year saw some fabulous community contributions—any help with good UI is always inspiring. Matt Lacey not only wrote up his contribution, but built a tool in the process to aid every other fellow developer—making it easier to work with XAML.
While some .NET MAUI developers may choose to write C# or Blazor to build UI, the vast majority of developers will likely use XAML as the visual tree. While tools can help, there is no denying that writing XAML by hand may seem verbose at times—developer productivity can be better.
For .NET MAUI developers, the built-in Toolbox in Visual Studio does not do enough—drag and drop can be clunky and boilerplate code is often missed. The long time XAML lover in Matt thinks this developer experience can be better—say hello to Pro XAML Toolbox for .NET MAUI developers.
Matt's goal is to combine the best of drag/drop with code snippets—the tool provides smartness in how XAML visual tree is generated. No longer is code injected at random cursor positions—the Pro XAML Toolbox ensures the UI components are placed intelligenly to build the visual tree, as well as setting up commonly used UI properties. Matt showcases the versatality of the Pro XAML Toolbox with common UI scenarios—like building a login screen or a list view with item template.
With just a few clicks within the Pro XAML Toolbox, developers have a great starting point with generated XAML, with many options being customizeable as needed.
Kudos, Matt, for building a utility that promises to help developers write XAML visual trees easier—while .NET MAUI benefits from it today, future enhancements may include WPF/UWP/WinUI stacks.
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!
All fields are required