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 toward 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 March 11, 2024:

.NET MAUI Community Toolkit Highlights

The .NET MAUI Community Toolkit is an open-source library serving as a companion to .NET MAUI development, offering developers a rich set of controls, converters and helpers designed to accelerate app development. With a focus on community-driven innovation and developer productivity, the .NET MAUI Community Toolkit has become an indispensable tool for developers looking to enhance .NET MAUI app development. Kym Phillpotts reflected on last year’s journey and wrote up an article—.NET MAUI Community Toolkit Highlights for 2023.

The .NET MAUI Community Toolkit GitHub repository has evolved into a dynamic hub of activity, engaging more than 40 contributors who have collectively pushed the project forward. Developer feedback, suggestions and code contributions have been instrumental in shaping the toolkit into a more powerful and efficient resource for .NET MAUI developers.

Some of the highlights for .NET MAUI Community Toolkit over 2023 include features delivered through nine releases and 260 commits. Some of the substantial capabilities added to the .NET MAUI Community Toolkit include the Media Element control, Windows Maps integration, speech recognition and speech to text, FolderPicker and FileSaver, Keyboard Extensions, App Theming APIs and .NET 8 support.

Solid documentation and an impressive number of NuGet package downloads signify the widespread adoption and trust in the toolkit—kudos to all contributors for making the .NET MAUI Community Toolkit an integral companion for .NET MAUI developers. Upwards and onwards for developer productivity.

.NET MAUI Community contributors

Media Picker in .NET MAUI

Many modern mobile apps deal with media files—there are innumerable use cases of using photos or videos to light up workflows in iOS/Android. Thankfully for .NET MAUI developers, working with media is easy, thanks to well-engineered cross-platform Media Picker abstraction. Empowering mobile users to work seamlessly with photos/videos is a nice luxury for developers, and Leomaris Reyes wrote up an article to help—getting started with Media Picker in .NET MAUI.

The first step toward with working with media files is platform-level permissions. Leomaris walks through what developers need to wire up for Android and iOS. Media Picker’s capabilities are made possible by the IMediaPicker interface, which enables users to capture or select photos/videos on their devices. The Microsoft.Maui.Media namespace contains the default implementation of the IMediaPicker interface, which developers can invoke easily—there are async methods to pick/capture photos or video.

Leomaris walks through how developers can work with Media Picker in .NET MAUI—capturing photos/videos or picking a media file from library, and easily displaying it in UI. The Media Picker abstraction is a wonderful benefit for .NET MAUI developers, making it easy to empower users to work with media files.

mediapicker

.NET MAUI with Blazor

.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. Blazor and .NET MAUI are almost made for each other, sharing the exact .NET runtime—Blazor apps hosted inside .NET MAUI apps enjoy full native platform integration. Blazor Hybrid apps, as they are called, enable a lot of code sharing across web and native apps on mobile/desktop. Daniel Hindrikes has started building a new Blazor Hybrid app from scratch and first of the video series is up—getting started building an activity tracker app with .NET MAUI and Blazor.

Blazor is welcome on mobile/desktop apps with .NET MAUI and developers are enabled to share a lot between web/native apps—C# code, Blazor components, JS Interop and CSS styles. In the first episode of the series, Daniel does a great job explaining the promise of Blazor Hybrid apps, before getting down to setting things up—creating projects and building the first reusable UI components across platforms. The common trick to reuse the same Blazor UI across web and native apps is to put the shared components in a separate Razor class library—and reference the same from .NET MAUI native app and Blazor web app. For anyone looking to get real world inspiration toward building Blazor Hybrid apps, this series from Daniel looks very promising—more awesomeness to follow.

Daniel Hindrikes activity tracker with .NET MAUI & Blazor

DevOps with .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. Lance McCarthy has been busy trying to migrate a sample Telerik CRM app and joined an aging developer to share experiences on the .NET Dev Show—DevOps and Publishing for .NET MAUI Apps.

After a bit of troubleshooting with .NET MAUI development, the discussion turned to the Telerik Art Gallery CRM app—a wonderful showcase app available in iOS/Android/Windows App Stores that is written with Xamarin.Forms and source code up on GitHub.

With some careful migration, Lance was able to reuse much of the C#/XAML code from Xamarin.Forms in .NET MAUI—but developer responsibility does not stop with app development. Any serious app development/deployment would benefit from modern DevOps—a properly configured CI/CD pipeline can make app package builds/distribution much easier.

Lance is fond of GitHub Actions for .NET MAUI DevOps and stepped through YAML workflows to set up build automation upon code commits—a one-time process can configure a pipeline for builds reaching various platforms. With configurable environment variables and efficient management of keys/credentials, the benefits of DevOps powered by GitHub Actions is very apparent for .NET MAUI apps.

From covering migration strategies to moving code and ending in DevOps, Lance has now done a series of episodes on the .NET Dev Show—a wonderful showcase of moving a real-world app from Xamarin to .NET MAUI.

.NET Dev Show

.NET MAUI for Startups

.NET is the free, open-source, cross-platform framework for building modern apps and powerful cloud services. Developers building with .NET enjoy solid frameworks, stable tooling and rich ecosystems—there is plenty of productivity boost to build, test and deploy modern apps across various platforms with .NET.

Modern .NET is not just for big enterprise apps, though, and Maddy Montaquila made a short video—how .NET MAUI helps get mobile/desktop apps to market faster for startups.

With .NET MAUI, developers can target mobile and desktop form factors from a single shared codebase. Between iOS/Android for mobile and Windows/macOS for desktop, .NET MAUI can boast wide platform reach—with increased platform/tooling stability, developers are finding more enticement to build cross-platform apps with .NET MAUI. For smaller companies just starting out, .NET MAUI presents an opportunity to reach maximum number of users, while leveraging a single shared codebase and reuse of .NET developer skills.

Developers have the flexibility to write .NET MAUI app UI in C#/XAML or reuse web investments written with Blazor—the end result is always a native cross-platform app with full-platform API access. With easy code reuse across wide range of devices and optimized developer productivity, the .NET MAUI promise can be beneficial for startups looking to build modern cross-platform apps with maximum user reach.

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.