In June, Apple announced at WWDC2020 that they would be switching all Mac computers to their custom ARM chips within the next two years. This move is something that was highly rumored and anticipated for quite sometime, but hearing it from Apple themselves was an altogether different thing. Not only are they transitioning, they are committed to doing so completely within a very short two years.
This decision mimics the one that was made in 2006 where they transitioned from PowerPC to Intel, but with a few exceptions. First, when they switched from PowerPC to Intel, Windows was already running primarily on x86/x86–64 architecture. Therefore, the move was putting the Mac onto the same platform of CPU as the dominant Windows OS. This time, they are doing the opposite and putting the Mac onto ARM which doesn’t have a prominent place in desktop or laptop computers. The market is also different this time around — Smartphones are now the dominant form of computing. Also, Linux has grown quite considerably in market share and sits at over 2% (primarily developers).
What does this mean for macOS and iOS developers?
For iOS developers, this is pretty good news. This means that the Mac will now run on the same architecture as the iPhone and iPad so making apps that also support macOS will be a lot easier. This is especially true since all iOS apps will now be available to ARM Macs day one unless the developers opts out. I would also expect that the already fantastic iPhone and iPad simulators will get even better performance as a cherry on top.
However, automatically placing iOS apps on the Mac is a double edged sword. iPhone apps were designed to be ran on, well, an iPhone. This means that without some developer effort, they may look downright odd on a much bigger 16:10 aspect panel. In order to look great on Mac, there will be developer effort required.
For Mac developers, the advantage is more battery life and a potentially more powerful computer to develop on. Beyond that… not much. Rosetta 2 will allow existing applications to run under the new ARM architecture but at a performance loss. Rosetta 2 is really only a stop-gap solution until devs have enough time to port their apps over. This, again, requires effort from the developer.
What about other kinds of developers?
For developers not developing specifically for the Apple ecosystem, this news could be either very insignificant or a deal breaker. A lot of cross platform developers probably won’t have to do much as the frameworks underneath these applications will likely be doing the legwork required for running on Apple Silicon. That said, Bootcamp (a utility used to run Windows on Apple hardware) will not work on the new Macs. This is a deal breaker to a lot of developers because Windows on ARM is only licensed to OEMs, therefore as of this moment there is no way to run Windows on an ARM Mac.
For a lot of other developers, especially web developers (which comprise a very large majority of the crowd), this new architecture could pose issues in that the machines of developers would be running on a different architecture as the linux servers they are utilizing.
As an example of what this means, I typically use a Mac because with my one machine, I can test my apps on all major platforms at once. Want to test on Windows? Fire up Parallels and boot into a Windows VM or dual boot into a Bootcamp partition. Want to test on Linux? Fire up Parallels again. Developing for mobile? A Mac is the only computer where you can test on both iOS and Android on the same machine. At the same time, I can primarily write my server scripts on my Mac, then to test for compatibility using Parallels and fix a few issues that may result from being on Mac instead of Linux before deploying them to the actual servers. With Apple Silicon, a lot of this paragraph may no longer be true.
The bottom line
While this article primarily focuses on the negative aspects of Apple Silicon, there are a ton of positives as well. Imagine a laptop with multi day battery life that is more powerful than the ones we use now. Imagine writing an app once and having it run across iPhone, iPad, and Mac flawlessly. Imagine being able to run the latest games at great frame-rates without a dedicated GPU or a large dip in battery life. These things may soon become a reality.
On the other hand, what if AMD and Intel continue to dominate high end computing and Apple’s arm based chips are only able to compete at the low end? What if the gamble of switching architectures doesn’t pay off and Apple loses the developer crowd?