看新闻很累? 看技术新闻更累? 试试 下载 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 中
来源: https://www.thinksaas.cn/group/topic/838884/