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 (MAUI)—the evolution of modern .NET cross-platform developer experience. Going forward, developers should have much more confidence in the technology stack and tools as .NET MAUI empowers native cross-platform solutions on both mobile and desktop.
While it may take a long flight to reach the sands of MAUI island, developer excitement around .NET MAUI is quite palpable in all the shared 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 & 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 June 13, 2022:
Maddy Montaquila did a recent session at Microsoft Build 2022—focus on .NET MAUI. The goal was to showcase exactly why .NET MAUI is the future-facing cross-platform solution for .NET developers and share excitement around General Availability (GA).
Maddy talked about the pillars of .NET MAUI—enabling native mobile/desktop client apps with unified .NET from a single project with platform access and solid tooling. .NET MAUI does a fair bit under the covers to make developers more productive—decoupled architecture, rebuilt Layouts, refactored Shell, Graphics capabilities, Community Toolkit and inviting Blazor into native land.
Aside from the current .NET MAUI updates, Maddy provided a look into what the future holds—with tooling and .NET MAUI roadmaps. Visual Studio tooling is being solidified across Windows/Mac—developers can expect a seamless productive experience in coming months, and .NET Upgrade Assistants are coming along as well. Developers can expect the full .NET MAUI story to be flushed out with .NET 7—Previews of .NET 7 MAUI coming soon.
Daniel Roth did a session at Microsoft Build 2022 on Native client apps with Blazor Hybrid—this is a must-watch for Blazor and .NET MAUI developers alike.
Dan starts out with the promise of full stack web apps with .NET—Blazor can run sever-side or fully client-side with WebAssembly. There's a lot of Blazor goodness added with .NET 6—like WebAssembly AOT, Hot Reload tooling, smaller downloads, better interop with JavaScript and much more. Dan then got to the exciting promise of bringing Blazor goodness to native mobile/desktop apps—.NET MAUI is happy to enable the Blazor Hybrid story.
Blazor Hybrid apps allow for reuse of UI components across web and native apps—.NET MAUI renders web content in high fidelity with a modern BlazorWebView component and allows easy access to native platform functionality. Dan demonstrated the promise of Blazor Hybrid apps with real-world examples running on native simulators, while sharing code with corresponding web apps. And showcases do not get much better than the .NET Podcast app—written with the best of .NET MAUI and Blazor together.
Blazor web code wrapped inside a modern WebView is also a great strategy to modernize older desktop apps—WinForms/WPF can now have little islands of modern Blazor UI embedded in them. Blazor has revolutionized modern web development with .NET and things are slated to get much better with .NET 7.
Jonathan Peppers wrote up an article on performance improvements in .NET MAUI—it is quite an epic post. .NET MAUI is the future-facing .NET cross-platform strategy—developers get to ride a unified .NET and from a true single project, target native apps for Android/iOS/macOS/Windows. This is a tremendous gain in developer productivity—and the .NET MAUI team has been very conscious of the cost of convenience to application performance.
One of the goals with .NET MAUI was to be faster than its predecessor Xamarin.Forms and the engineering team has done a ton of work at the framework level. While optimizing .NET MAUI performance, it was clear that iOS needed some work to improve application size and Android was lacking in startup performance.
.NET MAUI hits a good spot at GA—and this performance tuning was the result of improvements across Microsoft.Extensions, Dependency Injection, AOT compilation, Java interop, XAML compilation and numerous other areas. It is a testament to endless profiling/measuring/fine tuning that .NET MAUI performance does not take a hit even after adopting Shell as default organization/navigation pattern or allowing style resources to be pre-loaded.
For the nerdy developers, it is quite satisfying to read through Jonathan's detailed article on performance improvements, understand how things impact performance and stand on the should of a ton of engineering work. Kudos to the team.
For developers on MacOS, Visual Studio 2022 for Mac v17.0 is now available as a General Availability (GA) release—Jordan Matthiesen wrote up the announcement post. This is the fastest Visual Studio for Mac version yet with an all new native macOS UI fully running on .NET 6, optimized for Apple ARM processors and providing familiar developer productivity.
More importantly for .NET MAUI developers, the first preview of the next release of Visual Studio 2022 for Mac is now available—v17.3 Preview 1 can be installed side-by-side with stable release. Visual Studio 2022 for Mac v17.3 includes the first pass of modern development experience for .NET 7 and initial .NET MAUI tooling. Visual Studio 2022 for Mac v17.3 now supports creating new .NET MAUI projects, building/deploying .NET MAUI apps to iOS/macOS/Android and tooling support for XAML Hot Reload.
Lot more functionality coming for .NET MAUI in the future—developers are encouraged to keep talking to the team working towards an upcoming Visual Studio release with stable .NET MAUI tooling.
Javier Suárez recently organized MAUI Fest, a free online event around the launch of .NET MAUI. MAUI Fest ended up being a celebration of all things .NET MAUI by the developer community, with solid technical sessions in an all-day agenda—presented in both English and Spanish.
MAUI Fest saw familiar names from the .NET MAUI community—talking about Blazor Hybrid apps, customizing UI controls, integrating with Azure Active Directory B2C and upgrading to Prism for .NET MAUI. It was a day filled with developer excitement around .NET MAUI and solid showcase of what .NET MAUI brings to the table—all livestreamed and published to YouTube for consumption. Cheers to Javier and the developer community.
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.