.NET MAUI Preview 12 Focuses on Quality/Stabilization, Boosts Shell Navigation
Like all big dev tooling releases, Microsoft's .NET MAUI is now mostly getting quality and stabilization attention as the general availability date grows closer.
Unfortunately, all we know about that GA data is sometime in Q2 2022, so that could be anytime from April 1 to June 30, following a release candidate that should be coming up next.
.NET MAUI is described as the evolution of Xamarin.Forms because it introduces desktop app support in addition to mobile. It was expected to debut with .NET 6 last November, but it slipped the schedule because of various problems.
The game-changing new product can still be put through its paces now, though, through the use of the Visual Studio 2022 preview channel. That opens up all kinds of new possibilities, including new hybrid .NET MAUI Blazor apps that provide the best of both worlds, Blazor (web tech) and native. That allows, for example, the mixing and matching of Blazor UI components with native (WinForms, WPF, etc.) UI constructs.
It also lets Blazor code work with the resources of the underlying platform, something that a web app can't do. So, for Windows, that means a Blazor component can access the local machine's file system and even start up native applications like MSPaint, Notepad and so on. That's detailed in the recent article "Edit Local Images/Text from a .NET MAUI Blazor Hybrid App," which demonstrates the capabilities in an example proof-of-concept app:
As stated, the new Preview 12 -- the second since .NET 6 GA -- offers little in the way of new features.
"Today we are shipping a Preview 12 of .NET Multi-platform App UI with many quality improvements and some new capabilities," said David Ortinau, principal program manager on the project's dev team, in a Jan. 19 blog post. "As we near shipping our first stable release, the balance of work begins to shift towards quality improvements and stabilization, though there are still some interesting new things to highlight."
Foremost among those is new documentation for App icons, App lifecycle, Brushes, Controls and Single Project.
Preview 12 also enhances navigation in Shell, an app container or scaffold that provides URI navigation and a quick way to implement flyout menus and tabs, which was introduced in June's Preview 5.
".NET MAUI's use of
HostBuilder and powerful dependency injection have been a highlight of the previews," Ortinau said in discussing Shell capabilities. "One of the top feedback items we have received about Shell is the desire to use constructor injection, and in this release thanks to the efforts contributor Brian Runck you can now use it!"
- FlyoutView handler implemented on Android (#3513)
- Compatibility handlers added for
- Z Index property added (#3635)
- .NET 6 unification -- iOS types (Issue)
- Windows extended toolbar -- non-Shell (#3693)
All of the above and more is explained in greater detail in the release notes.
Going forward, the project roadmap shows what's on tap for the upcoming Release Candidate.
As the roadmap shows, there is no "Preview 12" on the schedule, so apparently Microsoft added a preview and the RC is next, or this Preview 12 is the RC and either a RC2 or GA release is next. And, since the project is on a monthly preview schedule, there would appear to be room for at least two more previews before a Q2 GA release. Microsoft always keeps you guessing.
In addition to the roadmap, the status of controls and features can be tracked in the project wiki.
To try out .NET MAUI, Ortinau recommended uninstalling all existing all .NET6 and VS 2022 previews and then installing Visual Studio 2022 Preview (17.1 Preview 3). Then just make sure the .NET MAUI workload (Preview 2 had three .NET MAUI workloads) is checked under the "Mobile Development with .NET workload" section.
David Ramel is an editor and writer for Converge360.