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 28, 2023:
.NET MAUI is the evolution of modern .NET cross-platform development stack, allowing developers to reach mobile and desktop form factors from single shared codebase. For folks maintaining apps written with Xamarin.Forms, May 2024 is when official support stops—now would be a great time to start the migration to .NET MAUI. There are obviously many considerations and James Montemagno has produced a comprehensive video—the Xamarin.Forms to .NET MAUI migration guide.
James starts off with some of the key considerations as developers plot the migration to .NET MAUI—understanding how dependencies move forward to modern .NET runtimes would be important. The built-in Upgrade Assistant in Visual Studio can be a solid starting point to begin the upgrade, and James showcases migrating a real coffee app over to .NET MAUI.
After the Upgrade Assistant does its best, there may be compilation errors with differences in underlying frameworks—developers can fix things one by one, and look to reuse fonts, images and other resources.
Every app is unique and there may be differences in platform specific code or dependency service injection, but there is plenty of documentation and guidance for developers on their migration journey.
.NET MAUI sports solid tooling with Visual Studio on both Windows and macOS, but there is always the desire to go with lightweight tooling—lowers the barries to entry. Visual Studio Code continues to be the uber-popular light-weight code editor, working consistently across Windows/macOS/Linux.
There is big news for VS Code fans and Leomaris Reyes wrote up an article—getting started with the new .NET MAUI Extension for Visual Studio Code.
The .NET MAUI Extension for VS Code rides on C# Dev Kit—the lightweight, editor-first experience that augments C# development in VS Code with a Solution Explorer, native Test Explorer, AI-powered code authoring and more. Paired with C# Dev Kit, the .NET MAUI extension for VS Code provides developers with tools to develop/debug/deploy cross-platform .NET mobile/desktop apps with VS Code on Windows, macOS and Linux.
Leomaris talks through how developers can install the .NET MAUI Extension for VS Code, create new .NET MAUI apps and debug/deploy on selected simulators. While early days with some limitations, the .NET MAUI Extension for VS Code promises seamless .NET cross-platform development—a great start to welcome .NET MAUI development on VS Code.
While .NET MAUI provides a wonderful foundation for modern .NET cross-platform development, serious developers know the need to augment the UI stack—no point trying to recreate the wheel when engineering is expensive. Telerik UI for .NET MAUI can help—the most comprehensive UI component library for polished performant UI controls that work seamlessly across mobile and desktop.
In this age of AI, Chatbots can augment the user experience and Rossitza Fakalieva wrote up an article—supporting natural conversational flow between humans and Chatbots with Telerik UI for .NET MAUI Chat.
One of the things that defines us as humans is the way we communicate and process information—modern apps should exude human-like UI that can mimic a natural conversation flow. Telerik UI for .NET MAUI includes a Chat UI component for cross-platform .NET MAUI apps—the goal is to equip developers with intuitive, polished and customizable UI to pair with Chatbot services for augmented UX.
Rossi begins with the basics of how to include Telerik Chat UI component in .NET MAUI apps, before diving into the individual UI controls that help with better chat conversation UX. Quicker chat experiences demand user selections instead of typing—the Telerik Chat UI component obliges with a variety of picker UI, like Calendar, Clock, Cards and more.
With rich contextual Cards, Suggested Actions, Typing indicator, Localization, DataBinding/MVVM Support and various style customization APIs, the Telerik UI for .NET MAUI Chat provides developers all the ammunition to build rich chat experiences, with easy integration with any modern Chatbot service.
.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. While .NET MAUI provides unified UI/feature abstractions in C#/XAML, the reality is native mobile platforms have a huge API canvas. Plugins are the answer when developers need to pull off something native and abstractions make Plugins reuseable by other developers.
There are some complexities in building a Plugin—developers have to know the underlying native platforms and organize their code well to make the Plugin a reusable NuGet package. Gerald wants to help—say hello to the new Plugin.Maui.Feature Plugin Template.
With the open source Plugin Template, developers should have a good starting point—Gerald walks through how to create a Plugin repository and change up the default names from the Template. After NuGet metadata and Licence updates, developers have to do the actual work of implementing native platform functionality as a cross-platform Plugin—Gerald's Plugin Template is here to help get started. Cheers.
While Xamarin/Xamain.Forms has enjoyed a good run, the writing is on the wall for those supporting production apps—the time to migrate to .NET MAUI is now. Microsoft continues to invest in tooling and guidance for the upgrade—however, there is no denying the manual work involved for developers, especially for big projects.
Thankfully, with as many folks doing it, there is help from the developer community and Mitchel Sellers wrote up an article—tips for migrating from Xamarin.Forms to .NET MAUI.
Mitch shares some very real tips for folks moving from Xamarin.Forms to .NET MAUI—upgrading existing projects to Xamarin.Forms 5.0 first is recommended. Prior to migration might also be a great time to do some codebase cleanup—removing unused code, fixing build warnings, removing comments and more. The Upgrade Assistant can help quite a bit, but developers are well served running the tool on individual projects for granular control.
After Upgrade Assistant does its thing, developers may want to check any modified code, fix warnings and make sure projects build. While optional, one of the biggest benefits of migrating to .NET MAUI might be switching to the Single Project architecture—images, fonts, styles and other resources become reusable and so much easier to manage.
While there are manual steps and gotchas, migrations from Xamarin.Forms to .NET MAUI benefit from solid documentation, stable tooling and helpful developer community.
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