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



  • 本篇为转载,原文可见:链接

    随着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中。


Log in to reply