看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!
随着 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 中。
查看英文原文: Swift 4.2 Enters Final Development Stage, Paving the Way for Swift 5
评论