Application & Data Migration Blog Posts | Mobilize.Net

A Sneak Peek into .NET MAUI 8

Written by DeeDee Walsh | Oct 11, 2023 11:07:21 PM

I’ve been slow to jump on the .NET MAUI technology train – mostly because I was never a Xamarin adopter so MAUI felt like more of the same. But recently more and more of our customers are asking about it so I decided to dive into it a bit more.

First, what is .NET MAUI?

Ever felt like building cross-platform apps was like juggling flaming torches while riding a unicycle on a tightrope? Enter .NET MAUI—the chillaxed, "no worries, mate" framework that's here to turn your development chaos into a walk on the beach!

Picture this: You're sipping a piña colada 🍹 while effortlessly crafting apps that look and feel native on Android, iOS, Windows, and even macOS. No more tangled mess of codes, no more switching between different environments. It's like having your cake 🍰 and eating it too, but the cake is your code, and you can eat it on any device you like!

With .NET MAUI, you're not just building apps; you're setting sail ⛵ on a development journey where the sky's the limit, and the sea is full of possibilities, So, grab your virtual surfboard 🏄‍♀️ and ride the wave of next-level app development! Sorry I couldn't stop myself from making beach metaphors. Also, if you feel so inclined, here's a great fund for helping Maui fire victims: https://www.hawaiicommunityfoundation.org/maui-strong

With the recent updates and previews, it's clear that .NET MAUI is not just about mobile; it's also about enhancing desktop applications. Let's delve into some of the most exciting features that are set to rock your .NET MAUI development experience.

Multi-Window Support

Imagine you're building a project management app. With .NET MAUI's multi-window support, you can open a new window to display a project's details while keeping the main window focused on the project list.

var projectDetails = new Window(new ProjectDetailsPage());
Application.Current.OpenWindow(projectDetails);

 

Top-Level Menu Bar

Let's say you're developing a photo editing app. You can create a top-level menu bar that allows users to quickly access features like "Filters," "Crop," and "Export."

<ContentPage.MenuBarItems>
    <MenuBarItem Text="Edit">
        <MenuFlyoutItem Text="Crop" Command="{Binding CropCommand}" />
    </MenuBarItem>
</ContentPage.MenuBarItems>

 

Context Menus

In a social media app, you could add context menus to posts, enabling users to "Like," "Comment," or "Share" with a simple right-click.

<PostView>
    <FlyoutBase.ContextFlyout>
        <MenuFlyout>
            <MenuFlyoutItem Text="Like" Clicked="OnLikeClicked"/>
        </MenuFlyout>
    </FlyoutBase.ContextFlyout>
</PostView>

 

Tooltips and Pointer Gestures

In a music player app, you could add tooltips to the play, pause, and skip buttons. Pointer gestures could be used to show a volume control slider when hovering over the volume icon.

var playButton = new Button { Text = "Play" };
ToolTipProperties.SetText(playButton, "Click to play the song");

 

Keyboard Accelerators in .NET 8 Preview 7

In a text editor, you could add keyboard shortcuts for common actions like "Save," "Undo," and "Redo."

MenuItem.SetAccelerator(SaveMenuItem, Accelerator.FromString("ctrl+s"));

 

What’s Next?

The next .NET 8 release is slated to introduce Xcode 15 support, making it essential for developers to manage their Xcode versions to ensure seamless compatibility.

With its focus on enhancing both mobile and desktop application development, .NET MAUI is shaping up to be a game-changer in the cross-platform development landscape.

Note: I used GitHub Copilot to improve my code snippets.