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 toward 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 January 23, 2023:
Xamarin.Forms has had a good run and long shelf life left, paving the way for modern .NET cross-platform development stack with .NET MAUI. While .NET MAUI is enjoying new development and developer excitement, there is no denying that the reality for lot of projects/apps continues to be Xamarin.Forms.
The good news is that the path from Xamarin.Forms to .NET MAUI is getting paved every day as more and more developers make the transition. Martin Luong from Cayas wrote up a wonderful article keeping things real—7 steps to migrate from Xamarin Forms to .NET MAUI.
Martin takes a practical approach for Xamarin.Forms to .NET MAUI migration—instead of big bang, developers might benefit knowing the small steps involved in moving projects from Xamarin land to .NET MAUI. There are fundamental differences between Xamarin.Forms projects and modern .NET projects—the SDK style update and Single Project structure helps keep codebase clean.
The big challenge for many might be project dependencies. Martin explains how to update NuGet packages and points out Namespace differences between Xamarin Forms and .NET MAUI. Custom Renderers from Xamarin.Forms should be migrated over to Handlers—however, if need be, they can keep working in Compatibility mode. The .NET Upgrade Assistant is coming along nicely and will help automate much of the migration—kudos, Martin, for writing up a comprehensive guide to move from Xamarin.Forms to .NET MAUI today.
.NET MAUI has the big promise of going cross-platform on mobile/desktop from a single shared codebase. The goal is increased developer productivity and tooling that caters to the flexibility of opinionated ways of building cross-platform apps. Perhaps developers would be well served with a wizard-like template as new .NET MAUI apps are created—freedom of choice in every step should make development fall into a pit of success.
Matt Lacey has put together just that—a Visual Studio Extension that jump-starts .NET MAUI app development by scaffolding the project exactly how developers prefer. Matt joined James Montemagno on a recent On .NET show—build .NET MAUI apps faster with App Accelerator.
The aim with MAUI App Accelerator is to enable developers to start off from a good place with new .NET MAUI apps—choices dictate the project starting point. With the MAUI App Accelerator VS Extension installed, .NET MAUI developers would see a New Project template—as distinguished by an adorable goat icon.
Once selected, the template guides developers through a series of choices through a wizard—up for selection is the .NET MAUI runtime, coding style, navigation patterns, app pages and features. If chosen, the template happily brings down dependencies that most .NET MAUI developers would find useful—like Maui Community Toolkit or xUnit for testing. Matt showcased the developer experience of creating a new .NET MAUI app with the MAUI App Accelerator and exploring the resulting scaffolded project—cheers for elevated developer flexibility and productivity.
Cascading Style Sheets (CSS) is the most common way to style visual UI elements for web apps—it’s popular among developers and a powerful way to organize/compose styling in a reusable way. However, could CSS play a role in styling native mobile/desktop apps made with .NET MAUI? CSS can totally work with C#/XAML-based UI elements, and Leomaris Reyes has written up the definitive guide—styling apps with CSS in .NET MAUI.
While it may feel unnatural for XAML purists, styling .NET MAUI UI with CSS makes a fair bit of sense—developers building web and native mobile/desktop apps can share CSS styles across platforms. Leomaris starts out with a walk-through of how developers can add CSS files to .NET MAUI projects, mark them with a specific build action and reference/load the stylesheet in C#/XAML code. What follows is a comprehensive explanation of CSS features for the uninitiated—selector elements, property references, limitations and the nuances of parent-child visual element hierarchy. Much of the power of CSS is now useable in native mobile/desktop apps, with some very specific .NET MAUI properties and an easy way to share styles across web/native platforms.
Well-built mobile/desktop apps have polished user experiences, which are often driven by clean performant UI—there are simply no shortcuts to good UI. Telerik UI has long been a favorite ammunition for .NET developers, offering well-engineered UI components out of the box—for web, mobile and desktop developers. The latest release of Telerik UI suites is now out, with lots of goodies for .NET MAUI developers—but also for developers working with Xamarin, WinUI, WPF and WinForms.
.NET MAUI is a great opportunity, but also an engineering challenge—for the first time, developers expect Telerik UI to work seamlessly across mobile and desktop form factors. While developers work with a unified control set, the UX caters to various platforms and form factors.
The latest Telerik UI for .NET MAUI release packs a punch with five brand-new UI components to elevate developer productivity—ToolBar, ImageEditor, SignaturePad, ProgressBar and Accordion. The beloved Telerik DataGrid works seamlessly with touch on mobile devices, but also caters advanced features to desktop users with mouse/keyboard. For many .NET developers, .NET MAUI is a brave new frontier to reach mobile/desktop from a single codebase—Telerik UI can help with polished shared UI components.
Try Telerik UI for .NET MAUI
Kickstart your cross-platform application development and modernize legacy projects with Telerik’s best-in-class UI suite for .NET MAUI! Code once and build native applications for Windows, macOS, Android and iOS. Progress Telerik is committed to keeping pace with Microsoft’s release cadence, so you’ll always be up to speed. Try it for free today!
.NET MAUI is well positioned to be the next-generation cross-platform .NET framework, and as such, a lot more developers are flocking to .NET MAUI and building cool things.
For readers, nothing beats the experience of learning something new by settling in with a book—flipping through pages of wonderful content, either physical or digital. Shaun Lawrence is getting ready to oblige with a new book from Apress that is now ready for pre-orders—Introducing .NET MAUI.
The book promises to introduce .NET MAUI to beginners and help them be successful in creating .NET MAUI apps from scratch using commonly required techniques. The goal, however, is to quickly move on to applying advanced techniques to make apps stand out and bring apps to fruition from concept to production. Writing a book is a ton of work—kudos, Shaun, for taking up the cudgel.
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