Categories
.NET .NET 10 .NET MAUI .NET MAUI 10 Android ASP.NET Core Aspire Blazor C# CLI Code Deep Dive Desktop Developer DevOps General Getting Started Hybrid Integration iOS macOS Mobile Visual Studio VS Code Web Windows Xamarin Xamarin.Forms

Integrating .NET MAUI with Aspire: A Comprehensive Guide

Aspire is now the talk of the town. You can build and orchestrate all the dependencies from one single place. In fact, it’s stack streamlined. Learn more about Aspire here.

This article discusses how to integrate .NET MAUI, Microsoft’s cross-platform UI framework, with Aspire.

Aspire supports .NET by default, but since .NET MAUI is designed for multi-targeting from a single project, it presents a minor issue. I’ll offer a workaround until it’s officially supported (coming soon).

For this, I’m using .NET 10 File-based Apps for simplicity. Aspire v9.5 supports this new feature. Consult this article to know more about C# File-apps.

Categories
.NET .NET 10 .NET 9 .NET MAUI .NET MAUI 10 Android Blazor C# Deep Dive Desktop Developer Getting Started Hybrid iOS macOS Mobile What's New What's New Windows Xamarin Xamarin.Forms XAML

What’s New in .NET MAUI 10: Global and Implicit Namespaces for XAML

.NET MAUI 10 is the fifth major release of .NET MAUI, a cross-platform framework for building mobile and desktop apps.

It’s slated for a GA release during the .NET Conf, an annual virtual developer event, scheduled from Nov 11-13, 2025.

It’s packed with many quality of life improvements. The Global and Implicit Namespace for XAML feature is the pick of the lot.

To learn about the key features of .NET MAUI 10, check out this Overview article.

Categories
.NET .NET 10 .NET MAUI Android Blazor C# Code Deep Dive Desktop Developer Getting Started Hybrid iOS Learn Mobile Preview Visual Studio VS Code Web What's New Windows Xamarin Xamarin.Forms

What’s New in C# 14 – Extension Members – A Comprehensive Guide

Introduced in C# 3.0, extension methods are a valuable feature for external types, especially when those types are sealed, such as string.

Roughly two decades later, C# has now finally unveiled support for extending everything.

With the release of .NET 10 Preview 3 (C# 14), it is now possible to define static methods, instance properties, and static properties too. Support for other members will be incorporated in future releases.

Syntactically, an extension method should be defined within a top-level static class. The type of its first mandatory parameter, the one qualified with the this keyword, determines the type being extended. Henceforth, this will be referred to as the receiver type.

All standard query operators of LINQ are defined as extension methods. They are defined in the Enumerable static class within the BCL (in the System.Linq namespace).

For example, the Where extension method applies to all types that implement IEnumerable<T>. Validations and optimizations aside, the typical implementation is as outlined below.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Blazor C# Code Deep Dive Desktop Developer General Hybrid iOS macOS Made Easy Mobile MVVM Visual Studio VS Code Web Windows Xamarin Xamarin.Forms

Using MVVM Toolkit for Messaging in .NET MAUI Blazor Hybrid Apps

This is the third article in the MVVM Made Easy series with a focus on Messaging in .NET MAUI and Blazor Hybrid apps.

Here are the links to other articles in this series.

Although the fundamentals remain the same, the preceding articles were published after the initial version of the MVVM Toolkit, and a lot has transpired since then. An updated article is being prepared and published soon.

Blazor Hybrid represents an exemplary integration of cross-platform .NET MAUI and the Blazor components.

It facilitates the utilization of C# expertise in the development of various applications, including those for Desktop, Mobile, and Web platforms.

However, there are instances when these disparate components must communicate with one another for the integration to function effectively.

Whenever the necessity arises to facilitate communication between loosely coupled components, messaging represents the most effective solution.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Blazor C# Code Deep Dive Desktop Developer Embedding Hybrid iOS macOS Mobile Quick Fix Web Windows WinUI 3 Xamarin Xamarin.Forms

.NET MAUI – Native Embedding

The Native Embedding feature in .NET MAUI is a charming capability inherited from the legacy of Xamarin.Forms.

The platform project can make use of abstracted .NET MAUI pages and controls directly, showcasing its enhanced capabilities in this aspect.

To gain further insights, please consult my previous article outlining how to implement Blazor Hybrid in the WinUI 3 project.

When compared with the time of Xamarin.Forms, significant progress has been made in the implementation of this feature, such as the definition of a platform-independent extension method called ToPlatform().

Categories
.NET .NET MAUI Android Automation Blazor Deep Dive Desktop Developer General Hybrid iOS Mobile MVVM NuGet Templates Visual Studio VS Code What's New Windows Xamarin Xamarin.Forms

.NET MAUI – Item Templates – Made Easy on CLI and VS Code

Even though the All-in-One item templates have the same set of features in VS2022 and on the CLI. The CLI has its own limitations and here are the notable ones:

  1. The namespace resolution is not on par with its VS counterpart
    • On CLI – Defaults to the root namespace
    • Whereas in VS to the exact folder where the item is created
  2. A lot of (repeated) typing is required
    • The underlying reason is CLI’s named parameters design
Categories
.NET .NET MAUI Android Blazor Code Deep Dive Desktop Developer Extensions Hybrid iOS Mobile MVVM Templates Visual Studio Windows WinUI 3 Xamarin

Introducing .NET MAUI Generic Item Templates for Visual Studio 2022

Last week introduced the .NET MAUI Generic Item Templates for CLI. Since switching between the IDE and the Terminal is always a constraint. So decided to implement the revolutionary generic templates within the IDE itself so the experience is quite delightful. The right tools and techniques result in improved productivity. Achieve more in less time.

Published as a VS extension, starting v4.9.0.0

Categories
.NET MAUI Blazor Code Deep Dive Desktop Developer Hybrid Mobile Web Xamarin

Blazor – All along the way – Hybrid Apps

This is the fourth article in the .NET MAUI – Blazor series and have provided links for the other 3 articles previously published.

This article primarily focuses on the Blazor Hybrid scenarios.

The reason is the potential of Blazor, the modern web UI stack based on Razor SDK and allows to work with C# language constructs which can be used across multiple frameworks with the introduction of BlazorWebView, now officially supported on .NET MAUI, classic Windows desktop application frameworks such as Windows Forms (WinForms) and WPF.

Categories
.NET MAUI Deep Dive Desktop Developer Migration Mobile MVVM Templates Visual Studio Xamarin

Introducing Shared Class Library – Multi-target Xamarin.Forms and .NET MAUI from a single project

Very happy to announce the availability of the Shared Class Library project template, a library that targets both Xamarin.Forms and .NET MAUI from one single project.

We all know that .NET MAUI is an evolution of Xamarin.Forms targeting .NET 6 (as of this writing), a cross-platform UI stack (native UI) targeting the Android, iOS, macOS, and Windows platforms to complement the .NET toolchain (SDK & Workloads), and a single base class library (BCL).

Categories
.NET .NET 8 .NET MAUI C# Code Deep Dive Desktop Developer General Learn Made Easy Mobile MVVM Xamarin

MVVM – Made Easy with Microsoft MVVM Toolkit – Part 2

This article is the second part of this MVVM – Made Easy series. The first part of this article, covering the basics, is linked here.

As seen in the first part, INotifyPropertyChanged (INPC) is the interface that defines the event which raises the notification whenever the value of the property gets changed.