In a long-expected move, Apple finally unveiled its first Macs equipped with ARM-based chips built in-house. It should take Apple two years to transition its current Mac lineup to the new silicon. That’s worrisome for Intel, the previous provider of Mac processors, and it might leave macOS developers wondering about what to do if they want to transition their apps.
The first chip in Apple’s new Mac processor family, the M1, is based on a 5nm process and features four high-performance cores (along with four high-efficiency cores). That eight-core CPU is supposedly capable of developing superior performance even within the tight thermal envelope of devices such as the MacBook Air. In theory, it will also bring some of the most recognizable benefits of ARM-based chips, such as ultra-fast wake-up from sleep, to PCs.
For current macOS developers, some big questions spring to mind. Apps built for Intel’s x86_64 architecture won’t interoperate with ARM64 architecture—that’s a big reason why Microsoft’s Windows RT, an attempt to port Windows onto ARM architecture, failed back in 2008. While the M1 chip will allow iOS developers to port their iPhone and iPad apps onto Mac, porting apps built for Intel chips onto Macs loaded with Apple’s new silicon will require Rosetta 2.
Rosetta 2
Rosetta 2 is an emulator designed to allow these apps to run on the M1. It’s not meant as a permanent solution, but as a way to buy developers a little bit of time as they rewrite their apps. Or as Apple puts it on the Rosetta 2 developer page: “Rosetta is meant to ease the transition to Apple silicon, giving you time to create a universal binary for your app. It is not a substitute for creating a native version of your app.”
“To the user, Rosetta is mostly transparent,” the page continues. “If an executable contains only Intel instructions, macOS automatically launches Rosetta and begins the translation process. When translation finishes, the system launches the translated executable in place of the original. However, the translation process takes time, so users might perceive that translated apps launch or run more slowly at times.”
Developer Transition to Apple Silicon
Six months ago, when Apple first announced that its Macs would soon feature the company’s own silicon, it also rolled out a Developer Transition Kit (DTK) for developers who submitted an application. The DTK’s hardware kit includes an Apple A12Z Bionic, 16GB memory and 512GB SSD storage, and the usual ports and Wi-Fi/Bluetooth compatibility.
The DTK (which developers must return to Apple once they’re done with it) was part of a Universal App Quick Start Program, designed to facilitate developers’ work on apps capable of working across the full range of Apple products, from iOS through macOS. The program includes development resources, technical support, and private forums, although the company claims that space is largely limited to those who are trying to transition existing macOS apps to the new paradigm.
For those who don’t feel the need for a DTK and a formal program, Apple has lots of documentation on its site about building for Apple Silicon. These rundowns include “Porting Your macOS Apps to Apple Silicon” and “Building a Universal macOS Binary,” along with information on fine-tuning everything from graphics to adapting iOS code to the new macOS environment.
The Future
For the time being, it seems that Apple is trying to make developers’ lift as light as possible when it comes to the new, ARM-based platform. Rosetta 2 emulator works at run-time, and the company has been prompting developers to get their minds around the concept of universal apps for most of 2020.
For Apple, the potential benefits of this paradigm shift are enormous. It will control every single aspect of the Mac platform, from OS down to the silicon level. The big question now is whether developers will rush to follow it along this new path, or whether Apple will need to take additional steps and incentives to get them to rebuild macOS apps with an eye toward the long-term.