What it is: Bitcode is Apple’s new technology that can automatically adapt existing apps to different types of processors.
At Apple’s Worldwide Developer’s Conference recently, Apple announced Bitcode. The main idea behind Bitcode is that it can convert existing apps to run on different processor architectures automatically. That means if Apple suddenly switches processors in the iPhone, iPad, or Apple Watch, existing apps will be able to run on those new processors without the developer recompiling them for the new processors.
Theoretically, of course.
Yet the idea behind Bitcode prevents software from getting bogged down to a single processor architecture. For the longest time, Windows had been linked to Intel processors that people dubbed the combination WinTel. The problem was when Microsoft tried to create a version of Windows that could run on ARM processors (Windows RT), they had to convince developers to rewrite their programs and compile them to run on ARM processors. Not many developers did that, which made the software library for Windows RT minuscule. Such a tiny software library helped sink Windows RT as a viable operating system.
With Bitcode, Apple hopes to avoid this problem. If Apple suddenly switches from ARM processors to Intel processors (or something else entirely), all existing iOS apps will magically be able to run on this new platform. That means any new platform will automatically have the same software library from day one. Now there’s no need to wait for developers to write software specifically for a new processor platform because their existing apps will run just fine on any new platform.
Apple actually switched processors twice during the lifetime of the Macintosh. First they switched from 68000 processors to PowerPC processors. Then they switched form PowerPC processors to Intel processors. Each time they switch almost killed the Macintosh because of the lack of software for the new platform, but since the Macintosh had such a small market share, the switch didn’t kill the Macintosh market.
Right now, Bitcode just works for iOS and watchOS. Unless there’s a compelling reason for Apple to switch away from low-energy, power-efficient ARM processors used in the iPhone and iPad, there’s no reason to switch to a different processor. That reasoning holds up today, but tomorrow, who knows? Because nobody knows for sure, Apple is simply planning ahead to insure that when that day comes eventually when ARM processors can’t keep up with their rivals, Apple can simple switch without losing their massive software library in the process. Microsoft can’t do that with their heavy reliance on Intel processors.
For consumers, Bitcode simply means that your current apps will work whether Apple switches to different processors or not. For developers, Bitcode means you can write your app once and have it work on iOS running on any processor (theoretically).
Bitcode is simply one more example of Apple planning ahead rather than reacting to the competition. Apple may never need to rely on Bitcode, but it never hurts to plan ahead. When Apple created OS X, they made sure it ran on both PowerPC and Intel processors. When PowerPC processors could no longer keep up with Intel processors, Apple simply switched to Intel processors and offered a free program called Rosetta, which allowed PowerPC programs to run flawlessly on Intel processors.
The ultimate goal is to avoid dependence on any particular processor architecture. Bitcode helps Apple do that while rivals like Microsoft simply have to hope that Intel processors remain on top for the rest of eternity. Intel is already struggling to keep up with mobile computing led by ARM processors, so you can look at Bitcode as a strategic, long-term investment in technology that Apply may or may not ever need, but it helps to plan ahead and not get caught by surprise. Companies that get caught by surprise tend to die quickly, so Bitcode can be one more way Apple insures its own survival.