Telerik blogs

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.

.NET developers are excited with the reality of .NET Multi-platform App UI (.NET MAUI)—the evolution of modern .NET cross-platform developer technology stack. With stable tooling and a rich ecosystem, .NET MAUI empowers developers to build native cross-platform apps for mobile/desktop from single shared codebase, while inviting web technologies in the mix.

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 experiences 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 February 5, 2024:

VS Code for .NET MAUI

.NET MAUI is built to enable .NET developers to create cross-platform apps for Android, iOS, macOS and Windows, with deep native integrations, platform-native UI and hybrid experiences that extend the reach of Blazor/JS web UI technologies. With increased stability and a rich ecosystem, there are lot more developers building cross-platform apps with .NET MAUI. Developer attention is precious, though, and knowledge is often best gained in bite-sized pieces. Maddy Montaquila has started a series of short videos for developers called .NET MAUI Minutes and the another wonderful video is up—introduction to VS Code for .NET MAUI development.

Visual Studio Code is the uber-popular lightweight code editor that works seamlessly across Windows/macOS/Linux. For many modern .NET developers, particularly those targeting iOS as a platform, Macs running macOS are common development machines. With Visual Studio for Mac retiring this year, for developers on macOS/Linux, VS Code represents the engineering consolidation of developer tooling—the lightweight editor brings a rich Extensions ecosystem. Developers building cross-platform apps with .NET MAUI are empowered with the new .NET MAUI VS Code Extension.

Maddy walked through how to get started with the Extension, along with needed dependencies. Developers are able to debug cross-platform/platform-specific code and run their .NET MAUI apps on any simulator or connected devices, based on target platforms. VS Code is now the preferred cross-platform editor for many .NET developers, and the new .NET MAUI VS Code Extension promises developer productivity.

Maddy Montaquila - VS Code for .NET MAUI promo image

January XAML Fest

While .NET MAUI provides flexibility for .NET developers wanting to build cross-platform native mobile/desktop apps, the large majority of .NET MAUI developers will likely end up using C#/XAML to define app UI. There is good news for developers wanting to polish up their UI building skills—say hello to January XAML Fest by Leomaris Reyes, a month-long celebration dedicated to all things XAML in .NET MAUI. The goal of the special series is to delve deep into the world of UI design by replicating key portions of UI from renowned apps, and the third article is up—recreate Microsoft’s LinkedIn Header UI in .NET MAUI.

With January XAML Fest, Leomaris has rolled out a collection of articles—each tackling a different piece of UI, breaking down the XAML code, and providing developers with a clear, concise guide to crafting such UI themselves. The LinkedIn header UI is a sleek and functional interface element that is a staple in modern mobile app design.

Leomaris starts by breaking down the original card UI into blocks that can be recreated, complete with everything needed to display the header—profile, icons, rounded images and action buttons. With concise XAML and explanations every step of the way, Leomaris slowly builds up the LinkedIn header UI one block at a time with well-aligned text, images and buttons—there is plenty of UI inspiration for .NET MAUI developers. January XAML Fest is a festival of code and design, where developers are invited to celebrate, learn and enhance UI skills.

January XAML Fest

Space Shooter with .NET MAUI

Seeing is believing. Before choosing a technology stack, developers often want to see success stories and amazing apps being with a framework—wow moments create enticement and challenge further creativity. As the evolution of the .NET cross-platform technology of choice, .NET MAUI sports flexible UI stack, lots of performance tuning and easy integration with popular libraries. While consumer or enterprise apps have their needs, games can be very demanding on performance, graphics and flexibility with platforms/input devices. There is a wonderful new inspirational showcase app from Nick Kovalsky—say hello to open-sourced .NET MAUI space shooter game Etude.

The challenge was to create a simple yet heavily animated arcade cross-platform game using .NET MAUI C#/XAML with SkiaSharp graphics library. Nick delivers in style. The new space shooter game is written with .NET MAUI providing the runtime, DrawnUI NuGet package drawing virtual controls on a Skia canvas and free Lottie animations fulfilling the game’s animated content needs.

The game runs seamlessly on Android, Windows, iOS and macOS, all from a single shared code base. The power and versatility of .NET MAUI is evident in consistent UI/UX across platforms, and support for touch on mobile versus keyboard/mouse on desktop. With acceptable game FPS and a wonderfully responsive UI, space shooter proves what’s possible with .NET MAUI and paves the path for immersive games/app experiences—no dearth of developer inspiration.

.NET MAUI space shooter game Etude screenshot

Publish .NET MAUI Apps

Shipping apps to iOS/Android/Windows app stores is not for the fainthearted—with each platform having different gated rules, developers often feel the hassle of signing/distributing apps. With .NET continuing to be inviting to everyone without a barrier to entry, VS Code is the perfect lightweight code editor to get started with cross-platform app development with .NET MAUI.

VS Code is now the preferred cross-platform editor for many .NET MAUI developers, and there is additional help for developers trying to ship/publish .NET MAUI apps to app stores. Gerald Versluis produced the perfect walk-through video—publishing .NET MAUI apps to the Stores made easy from inside VS Code.

Publishing/archiving cross-platform .NET MAUI apps usually requires that developers remember platform-specific CLI commands—but now, this can be a thing of the past. The new .NET MAUI Archive/Publish tool is a nifty VS Code Extension that aims to ease developer pain in shipping cross-platform apps to various app stores. The extension packs a set of essential tools to streamline the process of packaging and publishing .NET MAUI projects—supported platform targets include Android, iOS and Windows. Developers can get help with managing Provisioning Profiles, Keystores, code signing keys, actual archival/publication and more.

Gerald takes time to showcase the developer experience in preparing to publish a sample app for Android/iOS. The .NET MAUI Publish tool has the promise to simplify shipping .NET MAUI apps from inside VS Code.

Gerald Versluis giving thumbs up and text .NET MAUI Publishing with Ease

Xamarin to .NET MAUI

.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. The present reality for many apps, however, may be Xamarin or Xamarin.Forms—a migration strategy is needed to move things forward. Daniel Hindrikes has been busy trying to migrate one of his apps and produced a video documenting the lessons learned—experiences upgrading from Xamarin.Forms to .NET MAUI.

May 2024 is when official support stops for Xamarin and Xamarin.Forms—now would be a great time to start the migration to .NET MAUI. Daniel speaks with honesty—the plan was to create a new .NET MAUI project, move over reusable code, fix what is broken and re-publish the existing Xamarin.Forms app. The reality for many migrations, unfortunately, is scope creep—a lot of refactoring and feature fixes may become part of the Xamarin to .NET MAUI upgrade.

While Daniel may be running a little late with the .NET MAUI app rewrite, newer runtime/architecture have led to easier bootstrapping, cleaner code and an opportunity to rewrite TinyMVVM library. Overall though, Daniel recommends separating upgrades from improvements.

That’s it for now.

We’ll see you next week with more awesome content relevant to .NET MAUI.

Cheers, developers!


SamBasu
About the Author

Sam Basu

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.

Related Posts

Comments

Comments are disabled in preview mode.