Microsoft has previewed Visual Studio for Arm64, saying it is “the first version of Visual Studio that will natively support building and debugging Arm64 apps on Arm-based processors.”
The momentum behind Arm64 computing is strong as it has made the leap from mobile devices to PCs, laptops and servers, notably with Apple’s M series (Apple Silicon), launched in November 2020 with the M1. On the server, AWS has seen performance and efficiency benefits with its Graviton series, first introduced in November 2018.
Microsoft is behind, despite delivering its first Windows on Arm way back in 2012 with Windows 8 RT.
Unlike the first M1 Macs, Windows on Arm has not been compelling, and it was not until November 2021 that the company provided x64 emulation, a near-essential feature for a smooth user experience bearing in mind the huge legacy of x64 applications. Previous versions on Windows 10 on Arm (first available 2017) only supported 32-bit x86 emulation.
Provision of Visual Studio natively on Arm64 is good progress, but there are caveats. Although described as native, the post by senior program manager Mark Downie also states that the new version “significantly reduces the dependence on x64 emulation,” suggesting that dependencies remain.
The supported targets are also cut-down compared to x64 Visual Studio, offering desktop development with C++, and .NET development for Windows Forms, Windows Presentation Foundation, and web. General availability is promised by the end of 2022.
A change for .NET developers is that .NET Framework 4.8.1 is supported as well as .NET 6 (formerly called .NET Core). This version of .NET Framework will be in the next major update to Windows 11, and will be welcome for compatibility reasons since applications built for .NET Framework require a porting effort to run on .NET 6.
A complication for developers is that Visual Studio for Arm64 requires Windows on Arm, and the most popular Arm PCs, by a huge margin, are M1 Macs which have poor support for Windows emulation – although a brave individual is working on getting Windows running natively, inspired by the Asahi Linux project. Arminder Singh is an engineering student and states that “this project is not guaranteed to be successful.”
We ran up Windows 11 Arm (itself a preview) on an M1 Mac, thanks to the magic of qemu, and successfully installed Visual Studio for Arm64. It works, though for .NET 6.0 web development Visual Studio code, or Visual Studio for the Mac, would make more sense.
This is a step though towards a Windows on Arm PC that developers will enjoy – though long after Apple delivered the M1 Mac to its community.