The Shape of Everything
A website mostly about Mac stuff, written by August "Gus" Mueller
» Acorn
» Retrobatch
» Mastodon
» Micro.blog
» Instagram
» Github
» Maybe Pizza?
» Archives
» Feed
» Micro feed
June 10, 2020

With all the recent rumors flying around about the Mac transitioning to ARM processors, I've seen some assertions about what this means for software going forward. I thought I could chime in on this as someone who's been developing software for the Mac for a long time, including the last architecture transition from PowerPC to Intel.

Let it be stated that I have no knowledge of what Apple's internal plans are. These are educated guesses based on my years of experience of working with Apple and Apple's frameworks. And maybe this is all for nothing, since this transition might not even happen!

Assertion: The Cocoa frameworks are going away with this transition.

I find it very unlikely that Cocoa is going away anytime soon. Cocoa is largely written in Objective-C, and since Apple has been heavily investing in Swift the idea is that Cocoa must be going away.

Cocoa is the framework that drives pretty much every app on MacOS. Without NSWindow, without NSView, you've got no apps on the Mac. Apple could completely rewrite Cocoa in Swift, but that would be a monumental waste of resources and would take many years to accomplish. Apple famously keeps its teams small, so I don't see them spending the time to do this, only to say 5 years from now "Hey- it's all in Swift now! Isn't that great? Sorry we didn't get anything done in the meantime and here's a whole new set of bugs you'll be discovering as well".

"But wait! What about SwiftUI?" you might say. SwiftUI is barely one year old. Look at how long it's taken Swift to get to a point where it's not incredibly painfully to use. SwiftUI is most likely on a similar track, and regardless, many parts of SwiftUI also sit atop Cocoa.

Assertion: Objective-C is going away with the ARM transition, and it'll be Swift only from here on out.

Objective-C isn't going anywhere anytime soon. Too much of MacOS and too many important applications rely on it. Heck- the Cocoa frameworks are written in Objective-C! Objective-C is still incredibly important to Apple, even if the marketing department doesn't like to mention it.

And again, Swift code on MacOS completely relies on Objective-C.

Assertion: ARM Macs will exclusively run Catalyst apps.

The thinking goes, since major apps like Microsoft Word and Photoshop already have versions on the iPad, it would be a piece of cake for them to recompile and run on MacOS as Catalyst apps.

This would be a serious downgrade for users of these apps on MacOS, and would be a major departure from the way the apps currently behave on MacOS. And even with Catalyst, it's still a lot of work for an iPad app to look and feel like a Mac app. You're still going to need a team to make sure everything ports correctly, in addition to adding all the missing functionality that your users would expect to be there. I just don't see this happening either.

Assertion: ARM Macs will only allow sandboxed app.

This could happen. I give it a 50/50 shot at happening. Personally, I hope it doesn't happen as there are still many problems with the sandbox on MacOS that have yet to be resolved, even though developers have been complaining about it for years.

Assertion: OpenGL is going away on ARM for MacOS.

Yea, this is totally happening. OpenGL and OpenCL have been deprecated for a while now in favor of Metal. Apple will use this opportunity to drop them.

Will Apple release ARM based Macs this year? I hope so, I think the upside is huge. We'll lose things like VMware and other x86 based applications which will be sad, but if it brings better performance and longer battery life, I'm all for it.