Bitcode - Apple's new technology, which nobody tells
Makradar Technologies / / December 19, 2019
On WWDC 2015 there was such a number of exciting new products that many developers have missed one of the greatest innovations presented by Apple, - Bitcode.
The session was devoted to Bitcode, an Apple representative Andreas Vendker said Bitcode App Store will allow to optimize applications for different devices prior to loading the users. In other words, the existing applications in the App Store will be able to take advantage of the new processors without any action on the part of developers, in a fully automatic mode, without the update and re publication.
In practice, this means the following... If Apple suddenly change the architecture of the processor in a particular device, developers no longer need to renew their support for its application. Due to the fact that the App Store will automatically re-compile the application, they will be able from day one to work with the new processors, regardless of whether it is the developers heard about their appearance or not.
What is Bitcode
It's a difficult question. To answer this question, you should be aware of Low Level Virtual Machine (LLVM) - universal system transformation that is used to convert existing code to native code for different architectures.
LLVM is composed of two parts: frontend and backend. The first - a programming language that allows you create your application, such as Objective-C, Swift, Python or Ruby. The second is used to compile the application to native code, that is a set of instructions understood by the CPU separately taken.
Bitcode thus is peculiar layer, the intermediate language which can re-compile the application into a set of instructions. Bitcode uses LLVM, to get the code of the application and transfer it to Bitcode. The technology also knows how to turn this code into an executable application, based on the required set of instructions.
Simply put, it will allow Apple to add support for new architectures in the backend App Store, which will Bitcode, how to compile the application for the new architecture.
Apple is not afraid to change the architecture of processors
As history shows, Apple - one of the few companies to successfully survive the change of architecture in its key products. Mac line of computers has gone through it twice.
The most significant change was the transition to the PowerPC architecture to Intel in 2005. Apple declined from outdated hardware platform, giving developers new possibilities and pre-warn them.
we can recall the transition to 64-bit architecture of the recent developments in the iPhone two years ago. Then the developers had to recompile their applications to add to their 64-bit processor iPhone 5s. With Bitcode developers no longer need to rework their applications even after significant changes in computing architecture.
If Apple suddenly move to the new architecture, for example, in the iPad Pro, thanks Bitcode third-party applications will support the new device immediately after its release.
This new technology is very important, it will allow developers to keep pace with the times when launching new devices or changing the existing architecture.
iOS-developer Caleb Davenport says that Bitcode has both pluses and minuses. Apple is no longer necessary to wait for developers to provide updated tools to support new devices.
I only fear that my application may be compiled in configurations that I can not verify that, in turn, will lead to errors, which I can not reproduce.
Caleb Davenport waited for the appearance of 64-bit devices on offer to test your application on the "real" iron and only then add the appropriate support in him. In the case of Bitcode, which automatically compiles applications for new devices without the participation of developers may be weeks before a developer buys a new device for testing, while users will use his application and to deal with possible errors.
Other developers believe otherwise. So, Sord Janssen positively perceives Apple innovations as they reduce the amount of work that he has to perform to support new devices. He believes that if Apple would suddenly switched to Intel processors in the new iPhone, on his part would not require any action to provide support for devices on release day.
The other developers Bitcode perceive a mixed blessing. The technology seems to be amazing, but it remains to be sorted out.
The problem is that Apple does not provide sufficient information to developers. Despite its great importance, Bitcode was very carefully mentioned at WWDC, and even excluded from some of the sessions. In applications that use closed-source libraries, such as, CocoaPods, Bitcode altogether It is not desirable because it may cause errors while library developers do not add support for new architecture.
Most likely, more details will be closer to iOS 9 watchOS exit and 2, but still strange that Apple is not provided full documentation of Bitcode at the WWDC, the event, which also created the lighting for such changes.
Regardless of architecture in the future
Medium user under the pseudonym Inertial Lemon He believesThat these changes indicate something larger. Bitcode required in applications for the Apple Watch, but only recommended for iOS, but as we know, the current recommendations for the future often develop into mandatory requirements.
For Apple Watch, this means that in the next generation watches can be used completely different processors, but for developers it will not make any difference - App Store will automatically adjust your existing applications to new device.
In addition, Bitcode may signal a possible change in the Mac architecture. Bob Mansfield, who was removed from the executive team to head up "special projects" is one of the candidates to work on this. Apple already makes processors for iOS-devices, so the transition to chips of its own production on the Mac does not look quite so crazy.
There is only one stumbling block - Bitcode is not supported in applications for OS X. Perhaps the key word here is "yet" because the man who represented the technology at the WWDC, working in a team OS X.
Such changes would mean for Apple the opportunity to go Mac with the Intel architecture ARM without the need to adapt the framework of the existing third-party applications. In this case, the company will get rid of dependence from Intel, have difficulties with the timely delivery of chips, because of which the postponed release of new Apple products.
We must understand that this is a lengthy process and does not necessarily signal Bitcode of such changes in the near future. But, anyway, Bitcode make Apple more flexible for radical hardware changes to their devices. Also in the future the company will not have to notify the developers about the changes that will allow it to keep the information about the new devices in secret until the presentation.
Developers diminished work on the adaptation of applications for the following large updates. In fact, they generally do not need to do, though many suspect that the process will not be so easy.
Bitcode should reach a critical mass before changing the architecture will be a simple process. But Apple is playing "in debt" and gives an enthusiastic developers a chance to prepare for what will inevitably happen in the future.
via