Apple’s Worldwide Developer Conference was so jam-packed with interesting news that many developers have missed one of the biggest changes the company unveiled: Bitcode.
Missing the news could be excused, because Apple didn’t really talk about it much at all. The documentation on the developer center doesn’t provide much information and even the sessions themselves didn’t contain all that much information.
The most information we got on Bitcode was during Apple’s ‘platform state of the union’ session at WWDC. Andreas Wendker, VP of OS X platform experience, said that Bitcode “allows the App Store to re-optimize apps for each kind of device before they’re delivered to the user.”
This means that apps can automatically “take advantage of new processor capabilities we might be adding in the future, without you re-submitting to the store.”
What does that actually mean in practice? Based on what we know, the new process means that app developers will need to make no changes to their app if Apple suddenly changed processor architecture.
From day one, apps will work on the new processor type regardless of if developers knew it was coming or not, because the App Store will recompile them automatically.
So uh, what is Bitcode?
That’s a big question. First, you need to know what a Low Level Virtual Machine (LLVM) is. LLVM is a library that’s used to compile code down into intermediate or machine code. LLVM is used to build many compilers and languages you’re probably familiar with.
There are two parts to LLVM. First, you have a “front end” language that you use to build your app, like Objective-C, Swift, Python or Ruby and a “back end” which compiles that app down to machine code.
An “intermediate” language like Bitcode is an abstract encoding of an app that can be used to re-compile it in different ways, given a set of instructions.
Bitcode uses the LLVM to take your app’s code, converts it into Bitcode and knows how to turn that into an executable app, based on the instruction set it’s given.
To simplify, this architecture means Apple can simply add support for new CPUs to the “back end” on the App Store, which will show Bitcode how to compile down to new architecture.
Apple isn’t scared of architecture changes
Remember the Power PC to Intel change!
Reports The Next Web
Read the full story