Okay, it’s an awful title, whatever.
Once again, the “OMG ARM-BASED MACS ARE COMING” news is making the rounds. In the past, I’ve been fairly dismissive of this, because it’s been kind of ridiculous for a number of reasons.
So looking at it logically, and based on actual past data from the previous CPU architecture changes Apple’s done with the Mac, there’s a number of things that have to be as close to zero-effort as possible:
Application support: This should be assumed without saying, but these days, assuming is a bad idea. The last time Apple moved chip architectures, when they moved to Intel, it was…well, it wasn’t painless, and it obviously wasn’t overly painful. It worked more often than not, and really the only major initial casualties were Classic Mac apps that people were still using. To the best of my knowledge, Apple never even tried to get Classic working on Intel, at least not seriously, and honestly, that was a smart decision. Classic was done, it was time to move on. That left a transitionary period for PowerPC apps to move to Intel, which by and large, Apple handled well. Or at least well enough. There’s a few apps that didn’t make it, but honestly, I think the knifing of 32-bit support in Catalina probably caused more code casualties than the removal of any support for PPC apps. That transition took longer than the 64-bit only one did, and by the time it happened, PPC-only apps were ones that were never going to move.
So is there currently application support for ARM? Mostly. Starting with 10.14 and accelerated by 10.15, the ability to have the same apps with the code run on ARM (i(Pad)OS) and Intel (macOS) is pretty far along. It’s not completely there yet, mostly at the UI level. SwiftUI is very much an i(Pad)OS first, macOS second tool. Every piece of macOS code I’ve seen come out of SwiftUI is very clearly an i(Pad)OS app in appearance.
That’s not to say SwiftUI can’t be improved, I mean, it’s not even a year old yet. But at the moment, would I use it for complex macOS apps that fill UI needs you just aren’t going to have on iPads or iPhones? No. But it’s improvable.
Apple’s also spent the last decade or so building developer tools that not only let devs not have to get down into the iron as it were, but have actively discouraged it. The imminent death of kexts is another example of this. The more distance between code and the underlying hardware you have, the less you care about the underlying hardware. If the frameworks all handle the low-level stuff for you in the ways you need, why waste time fiddling other than to prove you can? Even complex apps don’t have the same need for hand-tuned assembly that they once had.
The apps aren’t there yet, but man, it’s close, and I think you’ll see it get a lot closer in 10.16.
Hardware Performance: Yeah, this is there. In fact, it may be more of a jump in performance than going from PPC to Intel was. At this point, it’s not even close and given the crazy performance ARM provides in resource limited things like iPhones and iPads, ARM in a MacBook Pro? A Mac Pro? Hell, a Mini? Come on, this will be crazy faster. The GPUs might be an issue, but I can’t see AMD or even Nvidia deciding to tie their fortune to Intel on that scale. As well, Apple’s internal GPU design teams have been doing amazing work, again, in environments where power and thermal headspace are really limited. In a Mac Pro?
This isn’t even a serious question. The ARM architecture has been performing like Intel wishes it used to. “redonkulous” is a word I would use for it. That’s important because…
Virtualization/Bootcamp: Honestly, this is the only real question in all this. If Apple goes to ARM, whither Bootcamp and virtualization with acceptable performance. Anyone thinking this is a minor feature is…I will be kind and say they are thinking suboptimally. Being able to run Windows/Linux/*BSD/etc. on the physical hardware, or at acceptable speeds in various hypervisors is a serious feature the Mac has. It’s not always as easy as it should be, but it is there, and it is something a lot of people use. Losing that would force a lot of people off the platform, especially in corporate quarters, an area where the Mac has done very well over the last few years.
It’s an important factor, a critical question and one that Apple would not just have to “sort of answer”, but be able to solidly answer and demonstrate said answer should the announcement of ARM Macs be made.
So is Apple going to announce ARM Macs at the 2020 WWDC? Maybe, but I’d not want to put money I cared about on it. 2021? That might be different based on the WWDC, and I think anyone interested in this issue in a serious manner needs to spend quality time with the WWDC sessions this year. Not just the keynote, but pay particular attention to the “State of the Union” sessions, especially the things scrolling by in the background during the “other features we don’t feel like talking about” part. Yeah, it’s a bit of Kremlinology, but those have been pointers before.
I think ARM Macs are far more of a possibility than they were a year or two ago. But I think 2021 is the more realistic year for them.