.NET 6 Preview 2 Adds MAUI, Apple Silicon
The second preview of Microsoft's game-changing .NET 6 release is out, adding support for Apple Silicon chips along with an early implementation of .NET MAUI, an evolution of the Xamarin.Forms mobile-centric framework that adds desktop app support.
.NET 6 will complete Microsoft's unification effort to bundle various disparate components into one umbrella framework. As such it folds iOS, Android and macOS support into the platform mix via Xamarin.Forms/.NET MAUI code along with Mac Catalyst to provide support for x64 and Apple Silicon (or M1) chips. Finally, it also will embrace Windows Arm64 (specifically Windows Desktop).
The thinking behind Microsoft's .NET 6 plan is published out in the open on the Themes of .NET site.
On the journey to the debut of all that .NET 6 newness in November, Microsoft will from now on issue monthly previews, following this preview and the first preview released a few weeks ago that introduced the concept of Blazor Desktop and other new features. If Blazor Desktop and .NET MAUI desktop capabilities sound like a lot of desktop dev options (in addition to WPF, WinForms, etc.), you are right.
For now, Microsoft is introducing new functionality incrementally, with the .NET MAUI project's roadmap providing this high-level look at its highlights of Preview 2:
- First batch of controls and layouts
- Namespace changes
- Integrated Essentials library
- Single project image build task PR
- Control registrar
- Mac Catalyst support
- App host
In the announcement of Preview 2, .NET MAUI was highlighted for special notice.
"We have added .NET MAUI and single project developer experiences for Android, iOS, and Mac Catalyst," said Richard Lander, program manager for the .NET team, in a March 11 blog post. "We have updated our samples repository with projects you can run today with .NET 6 Preview 2. As we progress through previews, more and more functionality will be enabled. Today your best experience running these projects is via the command line."
Lander's post explained how .NET MAUI:
- Allows for shared fonts, images and app icons
- Provides extensions for configuring services, fonts and compatibility renderers for migrating Xamarin.Forms projects
- Introduces the first controls and properties to implement a new control handler approach
- Updates mobile SDKs
When a reader questioned Windows being left out of the .NET MAUI single project multi-targeting support without any explanation, Microsoft's David Ortinau replied: "Adding Windows depends on WinUI 3 which is in its own preview now, and we will add it to .NET MAUI in a future preview. See the roadmap."
Lander's post also details improvements to .NET libraries and to the .NET runtime.
Commenting on the post, another reader said he was now just waiting for a world-class WYSIWYG IDE to develop UWP/WinUI 3 applications, but Microsoft revealed that won't be happening in .NET 6. "The XAML designer for WinUI 3 is in the backlog, and unfortunately it won't be part of the v1 that will be shipped in Fall 2021. So there is no commitment (no ETA) for adding designer support yet," said Miguel Ramos.
Designers have been a thorn in Microsoft's development tooling side for a long time. For example, the XAML Designer in Visual Studio has been causing problems for years, with one developer in 2017 asking "Why is this still pending after almost 6 years?!?!?!?"
A Microsoft developer also mentioned the "huge technical challenge
" of duplicating the old .NET Framework WinForms designer in .NET Core.
More glitches and issues are bound to arise on the path to .NET 6, and Microsoft is aware of that, soliciting developer input to shape and smooth the release.
"We want your feedback to help us improve these new features before we release the final version in November," Lander concluded. "We expect that the majority of the release should be done by July; we'll focus on quality after that. That gives you a sense of the windows we have for feedback. The earlier you can give feedback, the better.
"You can expect to see more in .NET 6 for mobile and Blazor Desktop in subsequent previews. We're still in the process of building those features."
Microsoft also today (March 11) announced Entity Framework Core 6.0 Preview 2 and detailed what's new for the ASP.NET Core component of Preview 2.
David Ramel is an editor and writer for Converge360.