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 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 July 12, 2021:
James Montemagno continues his excellent YouTube videos for developer education—this time talking about safer and faster XAML. Be it Xamarin.Forms today or .NET MAUI tomorrow, XAML developers use a ton of data binding to link data objects to rendered views and keeping them in sync—a key to MVVM design pattern.
The problem, however, with traditional data binding is inefficient code and a lack of compile-time validation of binding expressions—your mistakes blow up at runtime. Compiled Bindings in XAML fixes this by compiling data binding expressions ahead of time, resulting in more performant markup. Compiled Bindings should be in the arsenal of every .NET MAUI developer and James explains why and how.
Got an existing Xamarin.Forms app today and thinking of migrating to .NET MAUI in the near future? This has been promised to be painless and Javier Suárez has started the work. Behold a new GitHub repo—a compilation of documentation, examples and tips when migrating apps from Xamarin.Forms to .NET MAUI. This will house the magical try-convert tool, but also guidance to port Xamarin.Forms Renderers to MAUI Handlers, as well as bringing over Behaviors, Converters, Effects and more.
Gerald Versluis posted another helpful video—this time looking at MVVM design pattern and the FreshMvvm framework in particular. While Xamarin.Forms already has the built-in plumbing to support MVVM code bases, a well-thought-out framework really helps. And FreshMvvm is a super-light Mvvm Framework designed specifically for Xamarin.Forms—meant to be simple and flexible. Check out Gerald's overview on FreshMvvm and how-to guide toward implementing features in your Xamarin.Forms apps.
Better late than never. Lonely Twitch streamer Sam Basu recently tinkered with .NET MAUI Preview 5 bits and tried experimenting with some of the new animations. More interestingly, the latest free Preview bits for Telerik UI for MAUI now run on WinUI 3 to reach the Windows desktop—all the preview software and preview VS tooling does need some ceremony to keep things in sync on both MacOS and Windows.
Developer Nick Randolph took a stab at migrating the showcase .NET MAUI Weather '21 app to WinUI (Windows App SDK) and Uno Platform—and documented the process. Much of the work stems from the differences in XAML dialects—.NET MAUI/Xamarin.Forms XAML as compared to UWP/WinUI/Uno XAML. While the app's business logic should be relatively easy to port, Nick walks through the process of carefully converting the XAML markup, as well as dealing with namespaces, images, animations, converters and more. While .NET MAUI will reach Windows through WinUI and MacOS through Mac Catalyst, hardcore Windows or Uno developers would benefit from Nick's writeup.
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!