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.
.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.
MVVM Toolkit - Support for Partial Properties with Custom Access Modifier
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.
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.
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
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.
Syncfusion.Maui.Toolkit NuGet package - A collection of free and open-source .NET MAUI controls
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.
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.
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.
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.
.NET MAUI All-in-One Templates - Support for NuGet CPM and Nightly Builds
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.
Abstracts the Shared components as a separate .NET MAUI Class Library
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.