Someone once told me that if everyone has one feature that they really care about and want to see, mine would be ARM64 support for UWP apps. This isn't true, as anyone who knows me knows that it was always OneDrive placeholders, but ARM64 is something that I've tried to stay on top of, since it makes absolutely no sense that a developer can't compile an ARM64 UWP app.
To be clear, when you compile a UWP app, you get three packages: x86, x64, and ARM32. The Windows Store downloads whichever package corresponds to your device.
Windows 10 Mobile
Windows 10 Mobile is a 32-bit operating system. Devices like the Microsoft Lumia 950, 950 XL, HP Elite x3, Alcatel IDOL 4S, Acer Liquid Jade Primo, and more have 64-bit chipsets, but Microsoft never bothered to build out the OS to fully support it.
Last September at the company's Ignite 2016 conference, I asked when we would finally get a 64-bit build of Windows 10 Mobile, and was told that it simply doesn't exist because there are no Windows phones with more than 4GB of RAM, so it's not necessary.
Unfortunately, that statement is just ridiculous. For one thing, the advantage of 64 bit is that it can handle larger numbers. The most obvious example is typically more RAM, but that's not everything. The registers are larger, and so on.
But I'm not even here to explain the advantages of a 64-bit OS or 64-bit apps. It's more about building out an ecosystem. Back in 2013, Apple announced the first 64-bit phone in the iPhone 5s, and most of us referred to it as a gimmick because there wasn't a clear advantage to it at the time. But here we are, four years later, and now that Apple is making much more powerful devices that include more RAM, it has an entire ecosystem of 64-bit apps to choose from.
Waiting until the last minute to add support for the technology just doesn't make any sense. The Windows Store doesn't have much of a selection of apps as it is, so if Microsoft adds ARM64 support tomorrow, one can't really assume that developers will update their apps with an ARM64 slice.
Windows on ARM and the diversification of UWP
Of course, Mobile was never the value proposition behind UWP development.
Windows 10 launched in 2015, and the Universal Windows Platform was born. It was a different time. Microsoft was promising a billion Windows 10 devices in two to three years, and the massive amount of Windows PCs in use would create developer interest in UWP, and since it's one app that can run anywhere, those apps would show up on phones too. And let's not forget about Xbox and HoloLens.
But that's not what happened. There haven't been too many UWP apps built for Xbox, HoloLens hasn't even been built for consumers yet, and phone is dead. In short, things look pretty bleak for the Universal Windows Platform, because the desktop is really all that's there.
Now, Microsoft is actually starting to fragment its desktop operating system. It announced Windows 10 S back in May, which only runs apps that come from the Windows Store. With this, the company is pushing developers to get their Win32 apps into the Store, hoping that they'll someday convert to UWP.
Back in December, Microsoft announced that it's working with Qualcomm to get Win32 apps working on ARM PCs, and that's where this gets interesting. For the first time, Microsoft will be offering an ARM64 version of Windows 10; however, you still can't compile an ARM64 UWP app, and we don't even know if that feature is coming.
Those PCs should be coming next quarter, and while we know that they'll run Win32 apps, we don't know how well those apps will run. One thing that's for sure is that a native ARM app will offer better performance than a virtualized app that's built for x86 machines.
And that's a value proposition for UWP, especially if Microsoft can get a lot of people to buy these new machines. While an ARM app will run better on an ARM PC than an x86 app, an ARM64 app will certainly offer better performance than an ARM32 app on an ARM64 machine.
All the cool kids are doing it
Any non-Windows device with an ARM64 processor runs an ARM64 flavor of the OS. I mean, it's 2017 and it would be ridiculous for that not to be the case, right?
The point is that even if there's no ARM64 flavor of Windows, Microsoft should be accepting ARM64 submissions to the Windows Store, and should have been doing this for some time. That way, when the software and hardware finally come around, the apps are there to take advantage of it.
But now an ARM64 build of the OS is actually happening, with Windows on ARM PCs. With standard desktop Windows, Windows 10 S, and Windows on ARM, the value proposition to building a UWP app is greater than ever.
But whenever I ask anyone from Microsoft about ARM64 support for UWP, I get a lackadaisical response that they're looking into it, and they barely seem interested. Frankly, I just don't get it.