内容简介:在正式发布Swift 4.2之后,Swift团队现在启动了发布过程的最后阶段,把注意力集中在了Swift 5上。Swift 5计划于2019年初发布,其目标是在保持源代码兼容性的同时,实现ABI稳定性。如前所述,ABI稳定性不包括苹果所说的
在正式发布Swift 4.2之后,Swift团队现在启动了发布过程的最后阶段,把注意力集中在了Swift 5上。Swift 5计划于2019年初发布,其目标是在保持源代码兼容性的同时,实现ABI稳定性。
ABI稳定性 大致可以理解为跨Swift版本的“二进制兼容性”。ABI稳定性允许将框架链接到程序,而不管使用了哪个编译器版本来编译它们,只要两个编译器生成的代码都符合即将到来的Swift ABI。对于第三方框架开发者以及在苹果公司内部推广Swift应用来说,这是一个关键的特性。ABI稳定性 最初计划在Swift 3中实现 ,但后来由于大量的新语言特性正在开发而延迟。
如前所述,ABI稳定性不包括苹果所说的 模块稳定性 ,后者可以描述为与未来编译器版本兼容的库的接口。换句话说,ABI稳定性影响的是框架运行时链入程序的能力,模块的稳定性关注的是在使用更新版本的编译器(例如Swift 6)构建程序时可以使用使用旧版本的编译器(例如Swift5)构建的库。模块稳定性肯定是需要的,因为它可以简化开发人员在多个账户下的开发,但并不关键。目前还不清楚,模块稳定性是否会加入Swift 5。
Swift 5还包括若干 新语言特性 , 其中有些已经实现 ,因此,这些特性毫无疑问会加入这个版本中,其中包括:
- “本体键路径( Identity key path )”:这提供了一种方法,使开发人员可以使用self伪属性引用符合该路径的整个值。
- count(where:) :这提供了在满足布尔表达式的Sequence中计算元素个数的可能性。
-
原始字符串分隔符 :它允许开发人员将任何需要转义的字符包含在以"""分隔的字符串中,而不是使用单引号(")。
其他特性仍然在开发之中,包括 扁平化来自 try? 的嵌套选项 、 simd vectors 、 用户定义的动态“callable”类型 ,等等。
所有新的语言特性都不会破坏源代码的兼容性,也就是说,大多数兼容Swift 4.2编译器的源代码都应该使用Swift 5.0编译器进行编译。不过,4.2版本之前的Swift版本不是源代码兼容的,至少应该升级到Swift 4.2版本。开发团队将定期发布趋近5.0版本的 可下载快照 。
以上所述就是小编给大家介绍的《Swift 5进入发布倒计时》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Xamarin.Forms 4.0 发布,进入 Shell 时代
- PHP 8.0.0 Alpha 3 发布,即将进入特性冻结
- openSUSE Leap 15 Beta 发布,15 系列已进入测试阶段
- ServiceComb 进入 Apache 孵化器后首次版本发布
- openSUSE Leap 15.1 进入测试阶段,最终版5月发布
- PyTorch 1.6 发布:原生支持自动混合精度训练并进入稳定阶段
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。