Swift 4.2 进入最后开发阶段,为 Swift 5 铺平道路

  • Sergio De Simone
  • 无明

2018 年 3 月 20 日

话题:开源Linux移动AppleiOS语言 & 开发

看新闻很累?看技术新闻更累?试试下载 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

开源Linux移动AppleiOS语言 & 开发