作者|Sergio De Simone
译者|Martin
随着 Swift 4.1 进入 beta 阶段,Swift 团队开始将注意力聚焦在新版本 Swift 4.2 的开发上。新版本除了 bug 修复和编译性能方面的改进,还会继续增强 Application Binary Interface(ABI)稳定性。
Swift 4.2 的主要目标是为 ABI 稳定性做准备,ABI 将会是 Swift 5 的主要目标。据苹果公司语言和运行时经理 Ted Kremenek 透露,Swift 4.2 将会对 ABI 的底层做出一些与性能有关的改动,目的是在 Swift 5 中正式发布最终版的 ABI 之前,能够从开发者那里获取反馈。
与 Swift 4.2 相关的代码都提交到 swift-4.2-branch,每两周从 master 分支合并一次。从 4 月 20 号开始,在从 master 分支进行最后一次合并之后,swift-4.2-branch 只接受关键的 bug 修复代码。
ABI 稳定性让不同版本 Swift 编译出来的应用程序和类库可以兼容,对于框架开发者来说,这是最基础的一项特性。如果缺乏 ABI 稳定性,那么就需要为不同版本的编译器提供不同版本的框架。ABI 仪表盘上列出了 ABI 最终版需要包含的变更清单,将于 2018 年下半年发布,不过目前并不清楚哪些变更将被包含在 Swift 4.2 中,哪些将被包含在 Swift 5 中。
为了遵守 Swift 4 的诺言,Swift 4.2 会继续保证兼容 4.x 的代码,也就是说,能用 Swift 4.x 编译器编译的代码也可以使用 Swift 4.2 的编译器进行编译。不过,这并不包含因 bug 修复导致的破坏性变更,也就是那些因编译器的 bug 而能够通过编译的错误代码。在兼容模式下,仍然可以使用 Swift 4.2 来编译 Swift 3 的代码。
Swift 4 发布于 2017 年 9 月,目标是改进语言和编译器性能和稳定性,同时保持代码的兼容性。ABI 稳定性原本是 Swift 4 的目标,后来被延期到了 Swift 5 中。
英语原文
http://www.infoq.com/news/2018/03/swift-4.2-release-process
移动开发前线
活动推荐
视频、3D、机器学习、算法工程化、IOT、智能硬件等新的命题正在被提出,丰富的内容生态以及内容形式在给传统开发的模式和线上的稳定性带来了新的挑战,而怪物级 APP 的移动开放生态也使得越来越多的移动开发者开始围绕着生态进行开发。QCon 北京 2018 会挑选部分话题来给大家分享,包括像跳一跳这样的全民小游戏的开发经验和思路,希望可以启发大家关于新移动技术的发展方向。
领取专属 10元无门槛券
私享最新 技术干货