The Model-View-ViewModel (MVVM) is a software design pattern that is structured to separate program (business) logic and user interface controls. The main advantage is, that the program logic is fully unit-testable as it functions independently of the UI controls (loosely coupled). It is very popular among the developers of XAML-based UI frameworks such as WPF, UWP, Xamarin.Forms, .NET MAUI, WinUI, and even other 3rd Party frameworks such as Uno.
This is Part 1 in the multi-part series of .NET MAUI – Blazor articles.
Part 2 on abstracting core logic as Razor Class Library (RCL), Component Navigation, and Sharing AppState between .NET MAUI and Blazor is now published. Click here to read the article.
Part 3 of this series on the streamlined process of registering the dependencies for BlazorWebView from .NET MAUI RC1 release is now published. Click here to read the article.
.NET MAUI, Multi-platform App UI, a framework to develop high-performant, cross-platform, native mobile and desktop applications for Android, iOS, macOS (via Mac Catalyst), and Windows from a single codebase.
And Blazor, a framework for full-stack web development with C# and Razor.
When these two modern technologies come together, then it’s certainly a delight for the .NET developers as it paves the way to leverage the skills they’re already familiar with.
In the previous article, we’ve seen how to install/update the prerequisites that are necessary to work with .NET MAUI Preview 8 application.
In this article, we’re going to see the changes that got newly introduced as part of this preview and what’s changed from the earlier ones.
The most important thing is now WinUI artifacts, targeting the Windows platform, are now part of the Single project, the original design goal of .NET MAUI. Yes, one single project for all 4 presently supported target platforms. WinUI works on top of WindowsAppSDK, rebranded from Project Reunion, 1.0 (experimental) version.
First things first, .NET 6 RC1 and .NET MAUI Preview 8 got released this week but the big breaking news is that .NET MAUI will be ready for Production use (General Availability) only by early Q2 of 2022 (next year) and NOT as originally planned with .NET 6 GA by Nov 2021.
This is definitely sad news for all those Xamarin/.NET MAUI developers who wanted to leverage this brand-new architecture. Hopefully by that time, if additional targets such as Linux/Wasm gets onboard, it would be worth waiting.
You might wonder whether you’ve read the title of this post correctly, yes, of course, .NET MAUI project template is now available from the .NET CLI toolset and VS IDE.
Both VS2019 and VS2022 for Windows are now provisioned with project templates for both Maui as well as Maui Blazor app models. Use VS2019 16.11 Preview 4.0 or VS2022 Preview 3.0 or later version to build the project.
And, users on macOS can continue to use VS Code for time being as Microsoft is doing a complete revamp of Visual Studio for Mac. Develop MAUI app in VS Code with Comet for .NET Mobile extension. For further details, read this article.
Update: A far more advanced all-in-one .NET MAUI App project template is now available to install. Check out this article for more details.
Have published a VS extension to install the item templates that target .NET MAUI Preview. To know more about it, take a look at this .NET MAUI – Templates for Visual Studio article.