Microsoft .NET updates include C and C++ code in Blazor WebAssembly, release date for Visual Studio 2022
Just don't mention WPF
Microsoft has come up with its usual monthly splurge of .NET news, including the ability to compile native dependencies into Blazor WebAssembly, and a release date of 8 November for Visual Studio 2022.
The .NET 6 wave – significant since it is a long-term support release – is close to release, with the launch expected at the online .NET Conf 2021 on 9-11 November. The date for Visual Studio 2022 is therefore no surprise. Not everything will be ready, though, in particular the cross-platform MAUI (Multi-platform App UI) framework, based on Xamarin technology, which is scheduled for an RC release in early 2022 and general availability in the second quarter of 2022. Preview 9 of MAUI is now out, with updated controls and graphics API (Microsoft.Maui.Graphics).
At this point in the release cycle new features give way to bug fixes, but a key new feature has arrived in the Blazor framework for browser applications. Principal program manager Daniel Roth described native dependencies for Blazor WebAssembly (Wasm) apps, which means that "any portable native code can be used as a native dependency." This in turn means that C code, for example, can be called from C# code running in the browser. Both the C# and the C code will be compiled to Wasm so technically it may seem just a small step, but it is nicely wrapped to work in the same way as native code interop for C# on the server or desktop.
Developers wishing to use the new Visual Studio can do so now with Microsoft's go-live licence which applies to the release candidate. There is an oddity, though. Those who install the release candidate will automatically update to the release version next month, but the preview release of Visual Studio 2022 also continues, and will become Visual Studio 2022 17.1 preview 1, as corporate veep Amanda Silver explained. Those who want the latest features should therefore stick with the preview, though it is also possible to install them side by side.
- .NET Foundation admits it 'violated the trust of project maintainers'
- .NET Foundation focuses on 'issues with the community' after executive director quits
- .NET Foundation boss apologizes for pull request that sparked community row
- Microsoft's .NET Foundation under fire as resigning board member questions its role
A new release candidate of .NET 6 is also now on offer, again with a go-live licence. Program manager Richard Lander noted that Visual Studio 2019 will never work with .NET 6; developers will need to upgrade to Visual Studio 2022.
In his post he also described features of C# 10, which comes along with .NET 6. There are also some changes to the way .NET 6 supports macOS. Lander said that the Arm64 SDK, needed to support Apple Silicon, now enables both Arm64 and x64 development, and he recommends that developers therefore use only the Arm64 SDK. As soon as .NET 6 is released, the .NET 5 Arm64 SDK will go out of support so a quick change is being asked of developers using what is today the current release.
Despite the energy Microsoft is putting behind .NET 6, some corners of the platform are getting little attention. One is Windows Presentation Framework (WPF), liked by developers but considered non-strategic by the company.
"WPF templates have not been updated as part of the release," said Roth without further explanation. One developer responded: "If you develop on desktop it's getting hard to develop with .NET. Winforms looks too old, WPF is unofficial dead, WinUI too buggy… UWP too restricted. Xamarin too much focus on mobile and too resource heavy on desktop."
Spelling out all those options for desktop development perhaps illustrates why Microsoft is not investing in all of them, yet there are plenty of developers of business applications who would rather see WPF and Windows Forms improved than dive into WinUI or MAUI. ®