The Road to Swift 4 ABI Stability
Recently announced on the swift-evolution mailing list, the Swift ABI Stability Manifesto aims to be a compilation of all concerns that need to be addressed before Swift’s ABI can be declared stable.
The goal of ABI stability has two main parts, writes Apple engineer Michael Ilseman , author of the document:
In particular, Ilseman identifies six areas where work needs to be done:
ABI stability is one of the top-priority features planned for Swift 4 and is crucial for third-party framework developers. As InfoQ reported , ABI stability did not make it into Swift 3 due to the impossibility of defining some aspects of the language that needed to be defined before locking down the ABI. In a recent interview for the Accidental Tech podcast , Swift creator and former Apple engineer Chris Lattner stated that ABI stability is not as important as it might seem for app developers, but “it is really important for Apple” and a key factor for Swift adoption inside of the organization:
The Swift team itself has specific goals they need to achieve before there can be truly, across-the-board adoption at Apple. ABI stability is the number one thing that prevents framework developers, for example, from adopting Swift. That’s a really important thing. That’s one of the reasons it’s always a really high priority.
In actuality, it is still not entirely clear whether Swift 4 ABI will be declared stable or not. This could be a consequence of the sheer amount of work ABI stability entails and of the fact that it may be not the most important thing for the Swift community, says Lattner.
I wouldn’t be surprised if, at some point, they decide that focusing on that is more important than nailing ABI stability in Swift 4.
Among the higher-level priorities for the community, Lattner singles out making the compiler more reliable, having better error messages, speeding up compile times, and making Swift scale better to large projects.
© Source: http://www.infoq.com/news/2017/02/swift4-abi-stability-roadmap?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=news
All rights are reserved and belongs to a source media.