Categories
.NET .NET 8 .NET 9 .NET MAUI Android Blazor C# Desktop Developer Extensions F# General Getting Started Hybrid iOS macOS Mobile NuGet Templates Tools Visual Studio VS Code Web What's New Windows Xamarin Xamarin.Forms

What’s New in the All-in-One .NET MAUI Templates Pack v6.0

As the name suggests, has a slew of features under the hood to work with .NET MAUI.

To effectively support the stable release of .NET MAUI 9, both the CLI NuGet package and the Visual Studio extension of the All-in-One .NET MAUI Templates Pack have been fully updated.

An article has already been published detailing the comprehensive features of .NET MAUI 9.

To know more about the features of this template pack, consult the articles linked here.

Install:

From CLI:

Here’s the command to install the CLI templates pack.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Blazor C# Code Desktop Developer General Hybrid iOS macOS Mobile Shell Tips Visual Studio VS Code Web Windows Xamarin Xamarin.Forms

.NET MAUI: Managing Query Parameters with Shell Navigation

This is an article in the Developer Tips series, which offers concise hints to enhance productivity. You can access all the articles in this series here.

The Shell feature in .NET MAUI is extensive, offering numerous capabilities. This article will focus on managing query parameters within shell navigation in .NET MAUI.

Incorporating query parameters during navigation is paramount in real-world apps, as they enable the transfer of data in scenarios such as transitioning from a list page to a details page, thereby preserving the contextual relevance.

The GoToAsync() method serves as the comprehensive solution for all your navigation needs in Shell and is overloaded to cater various requirements.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Blazor C# Code Desktop Developer General Getting Started Hybrid iOS macOS Made Easy MVVM NuGet Preview Toolkit Visual Studio VS Code What's New Windows Xamarin Xamarin.Forms

MVVM Toolkit v8.4: Custom Access Modifiers for Partial Properties – How To

This article is part of the MVVM – Made Easy series, with a focus on the initial preview release of v8.4 of the CommunityToolkit.Mvvm (aka Microsoft MVVM Toolkit) NuGet package, which includes support for Partial Properties.

Update as of Dec 2024: The v8.4 stable release is now available. For further details, please refer to this blog post.

Here are the links to other articles in this series.

Support for Partial Properties is one of most sought after features in the MVVM toolkit as it allows to define custom access modifier for property accessors and makes code more readable. The need for an analyzer to track the usage of a field instead of a (generated) property is no longer necessary.

Categories
.NET .NET 8 .NET 9 .NET Conf .NET MAUI Android Blazor C# Desktop Developer Events General Hybrid iOS macOS Mobile Visual Studio VS Code Web Windows Xamarin Xamarin.Forms

Join .NET Conf 2024 Online: Explore .NET 9 Features

November is set to be an exceptionally significant month for .NET developers globally, as a new version of .NET will be officially released during its annual event, .NET Conf. Similar to previous years, this year’s event will also be conducted virtually, allowing participation online. The highly anticipated .NET 9 is scheduled for release during this conference, which will take place over three days from Tue, Nov 12, 2024, to Thu, Nov 14, 2024. Please mark your calendars accordingly.

.NET Conf 2024 - Annual Virtual Developer Event - Release of .NET 9
.NET Conf 2024 – Annual Virtual Developer Event – Release of .NET 9

Quite like .NET 7, .NET 9 is also a short-term support (STS) release, which will be supported for 18 months till mid-May 2026. Even-numbered releases are LTS whereas odd-numbered are STS. More details on the release lifecycle are here. The support for .NET 6 (the previous LTS release) ends (more details here), with .NET 7 already out of support, and .NET 8, the current LTS release, has another 2 years of support till early Nov 2026.

.NET Release Schedule
.NET Release Schedule

Due to the underlying external dependencies, the support policy of .NET MAUI differs significantly from .NET, each major release will be supported only for 18 months. So, if you’re using .NET MAUI 8, support will cease by mid-May 2025 (in another 6 months). Hence, it’s necessary to plan for your app migration to .NET MAUI 9. An article has already been published detailing the comprehensive features of .NET MAUI 9.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Blazor C# Desktop Developer F# General Getting Started Hybrid iOS macOS Mobile NuGet Templates Toolkit Visual Studio VS Code Web What's New Windows Xamarin Xamarin.Forms

Getting Started with Syncfusion’s .NET MAUI Toolkit

Yesterday, Syncfusion, a prominent vendor of software components, announced its dedication to contributing to .NET MAUI and the release of the initial set of free and open-source controls for .NET MAUI, which is now available as a NuGet package titled Syncfusion.Maui.Toolkit.

Microsoft has gladly welcomed Syncfusion’s open-source contributions, a gesture seen as a positive step for .NET MAUI confirming the ongoing commitment to the cross-platform framework.

Syncfusion is utilizing its proficiency in developing software components to collaborate with Microsoft, with the objective of significantly enhancing .NET MAUI. Their team is already making a noteworthy impact.

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 Blazor C# Code Desktop Developer General Hybrid Mobile MVVM NuGet Quick Fix Windows Windows 10 Windows 11 WinUI 3 Xamarin Xamarin.Forms

CommunityToolkit.Mvvm: Resolving Windows 10 MVVM Project Build Issues

Undoubtedly, CommunityToolkit.Mvvm, aka Microsoft MVVM Toolkit, has recently become one of the most popular NuGet packages among MVVM developers.

It effectively abstracts away the boilerplate code, enabling developers to concentrate exclusively on the task.

However, after the release of package version 8.3 and later, while building the project referencing this Toolkit has encountered failures, accompanied by perplexing error messages like System.TypeInitializationException or Found conflicts between different versions of 'WinRT.Runtime' that could not be resolved. when targeting the Windows 10 platform.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Automation Blazor C# Desktop Developer General Getting Started Hybrid iOS macOS Mobile Preview Templates VS Code What's New Windows Xamarin Xamarin.Forms

Elevating .NET MAUI Item Templates: Simplified Namespace Resolution in Latest Release

Back in February, an article was published on the efficient utilization of Item Templates through the use of script automation. The article, titled .NET MAUI – Item Templates – Made Easy on CLI and VS Code, provides a detailed focus on this topic.

That article addressed two issues:

  • Better namespace resolution
  • Do more with fewer keystrokes

Now, the namespace resolution issue has been partially supported within the .NET SDK, eliminating the requirement for additional script files. A PR was submitted to the .NET Templating source repository, underwent review, and was subsequently merged into the main branch. This enhancement was then included in the release of .NET 9 Preview 6.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Automation Blazor C# Desktop Developer DevOps Extensions General Getting Started Hybrid iOS Mobile NuGet Templates Visual Studio VS Code Web What's New Windows Xamarin Xamarin.Forms

.NET MAUI All-in-One Templates Pack v5.6: NuGet CPM and Nightly Builds Support

Firstly, .NET MAUI 9 Preview 5 has just been released. The changelog can be found here. Notably, a new Blazor Hybrid Web template has been introduced in this version.

In short, this new template abstracts the Razor components into a distinct Razor Class Library (RCL). Furthermore, it provides the ability to create Blazor Web projects within the same solution and refers to the shared RCL.

The concept of abstracting the Razor components is already facilitated by the Hybrid project templates within the All-in-One template pack.

dotnet new mauiapp -o MyApp -dp Hybrid -rcl

Will review the modifications and cover them in a distinct article.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Blazor C# Desktop Developer Extensions General Getting Started Hybrid iOS macOS Migration Mobile Templates Visual Studio VS Code Web What's New Windows Xamarin Xamarin.Forms

Enhancements in .NET MAUI All-in-One Project Templates

As we all know .NET MAUI is an evolution of Xamarin.Forms. The underlying architecture transitioned from Renderers to Handlers. The project structure is unified. But for the projects that are getting migrated and developers coming from Xamarin.Forms background would feel at home with the classic multi-project solution structure.

To effectively support this, the All-in-One project templates introduced an option to abstract the Shared components as a separate .NET MAUI Class Library.