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 August 2, 2021:
Javier Suárez, one of the key engineers working on .NET MAUI, had recently joined the Surfing in Maui live stream. The goal was to compare Xamarin.Forms Renderers with the evolved .NET MAUI Handlers—and get into the weeds with details. Javier started with the basics and addressed the architectural problems with Xamarin.Forms that needed fixing up.
The .NET MAUI evolution is motivated to aim for simplicity, consistency and performance—and Javier showed code samples of how UI rendering code is being reengineered. The walkthrough included how to transform Xamarin.Forms Renderers to .NET MAUI Handlers and guidance on how to share code better as we move forward. Cheers Javier for this technical session and pushing to make app architecture better for all developers.
James Montemagno was asked on a live stream about the benefits of .NET MAUI—what do we have to gain when evolving from Xamarin/Xamarin.Forms to MAUI? James took some time to answer this—laying down the historical perspective of where Xamarin had started and where things are at now. With .NET 6, consolidated tooling and evolved architecture, James showcased where the future is headed with .NET MAUI, along with project setup and code walkthroughs.
Olia Gavrysh hosted the latest Desktop Community Standup for sharing updates—and was joined by Dmitry Lyalin. Dmitry and team are focused on much of the XAML developer experience, across desktop products and now .NET MAUI. While the updates started with Visual Studio 2022 Previews, Dmitry switched over to sharing the good stuff—Hot Reload.
With the Weather '21 .NET MAUI sample running on WinUI for Windows Desktop, Dmitry was able to share some cool updates—seamless C# code changes being picked by the app and visual tree rendered after diff'ing without the need of app restarts. This is a very welcome change and has the potential to help big time in boosting developer productivity.
Charlin Agramonte, aka XamGirl, wrote up a wonderful piece on Expandable Paragraph Controls in Xamarin Forms, potentially applicable moving forward in .NET MAUI. A common UX when showing a lot of text is to hide/unhide the whole body of it based on user inputs—thus aiding in scrollability and content discoverability.
Charlin starts with the basics of defining a ExpandParagraphControl inheriting off ContentView—setting things up with properties and Commands. Once done, sticking the defined ExpandParagraphControl in the XAML visual tree is easy—allowing the user complete flexibility to open/collapse paragraphs for better UX.
Backend services and data center plumbing off topic for client developers? Turns out, your .NET MAUI apps will not live in silos and would invariably have to integrate with services for needed functionality. This is where understanding newest frameworks of communications help—you get to see how platforms talk to each other.
Shawn Wildermuth recently did a session at Columbus App Dev UG on gRPC—the high-performance OSS universal RPC framework. Shawn started with some history lessons on Distributed APIs and moved into the crux of gRPC—Protocol Buffer-based service definitions and generated client/server stubs for service integrations across variety of languages or platforms.
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!