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 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 towards 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 November 1, 2021:
The latest public Windows 11 builds include the Windows Subsystem for Android (WSA)—this is a big deal allowing users the ability to run Android apps from the Amazon App Store. This is an even bigger deal for mobile developers using Xamarin.Forms or .NET MAUI—your Android apps can now run on Windows itself, without the use of any Android emulators.
James Montemagno produced a video for WSA usage documenting the process to reach the Android Subsystem through easy setup and IP address. Once done, Visual Studio starts listing the WSA as a target for running Xamarin/.NET MAUI apps on Android—how cool to not need Android emulators. Alas, say goodbye to long coffee breaks while your app deploys on Android!
One of the most welcome changes in .NET MAUI is how apps are going to be bootstrapped—there is now consistency with rest of modern .NET. The new app start up utilizes the .NET Generic Host Builder and makes it easy to work with Dependency Injection. Gerald Versluis published a video on how easy it is to work with DI in .NET MAUI apps and walked through the whole process—using the Host Builder, registering Container dependencies and using Constructor Injection.
While .NET MAUI makes it easy to work with DI, this is perfectly doable across most of .NET today and a good architectural pattern that sets up apps for easy portability/migration.
James Montemagno and Frank A. Krueger hosted the latest episode of the Merge Conflict podcast—this time on the upcoming .NET 6 and C# 10 hotness. There is something about nerdy developers geeking out about the latest language features—C# 10 does not disappoint with Scoped Namespace declarations, Global Usings, Record structs and lots of updates to type/property handling.
The other hot thing in .NET 6 is Minimal APIs—the no-drama way of quickly building out backend APIs with C#. Minimal APIs are meant to be incredibly fast and growing with API needs, without the ceremony of traditional .NET APIs. If you are looking to build modern .NET MAUI app and need a fast simple API backend, Minimal APIs should be a strong contender.
XamExpertDay had happened a few weeks back—an all-day virtual conference with lots of great content. As awesome as it was, it was also the last one—XamExpertDay is evolving to .NET MAUI Expert Day. Maddy Montaquila had done the closing keynote this year—evaluating where things are, how we got here and where we're headed.
Maddy talked through much of the work that has gone into .NET MAUI already—from inception to present day and what lies ahead till GA. It was a wonderful behind-the-scenes look at the madness, pain, hilarity and triumphs of modern day software shipping process—a great way for folks new to .NET MAUI to get up to speed.
Machine Learning (ML) is a type of Artificial Intelligence (AI) that focuses on the use of data and algorithms to imitate how humans learn/think and gradually improve on accuracy. How is this relevant to .NET MAUI developers? Well, with mobile and desktop apps competing for user attention/usage, ML could be the thing that gives your apps the edge—pulling off innovative solutions around classification, decision-making, prediction, anomaly detection and more.
ML.NET brings machine learning home for all .NET developers, with Model Builders and Visual Studio tooling. Jayme Singleton has been hosting wonderfully educational .NET content and she was joined by Bri Achtman for a session on learning all-things ML.NET. Bri started with the basics of machine learning workflows and went on to demonstrate real scenarios where ML.NET really shines. Find two hours on a weekend to watch this and come out with a thorough understanding of ML and ML.NET.
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.