写点什么

Swift 5 进入发布倒计时

  • 2018-10-07
  • 本文字数:851 字

    阅读完需:约 3 分钟

在正式发布 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 Enters the Latest Stage of Release

2018-10-07 08:232141
用户头像

发布了 1008 篇内容, 共 393.2 次阅读, 收获喜欢 345 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

三大「价值流」搞定技术型管理

蔡建斌

管理 技术管理 精益 引航计划 内容合集

带你读AI论文丨用于细粒度分类的Transformer结构—TransFG

华为云开发者联盟

细粒度 映射 Transformer TransFG 差异性图片

如何从零搭建起一支技术团队

石云升

团队管理 管理 引航计划 内容合集 9月日更

循环神经网络LSTM RNN回归:sin曲线预测

华为云开发者联盟

RNN 循环神经网络 LSTM LSTM RNN回归

【Flutter 专题】50 图解动画小插曲之 Lottie 动画

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

号外!号外!极客时间出插件了😎

IT蜗壳-Tango

极客时间 9月日更 浏览器插件

使用Git分布式控制系统,怒斩腾讯和阿里的Offer

Java 程序员 后端

手撸二叉树之二叉搜索树的最小绝对差

HelloWorld杰少

数据结构与算法 9月日更

Vue进阶(幺零七):arr.forEach() 跳出循环

No Silver Bullet

Vue 9月日更

14 种编程语言书写关机脚本,真香

梦想橡皮擦

9月日更

测试模型中理解压力测试和负载测试

FunTester

性能测试 接口测试 压力测试 FunTester 负载测试

【优化技术专题】「线程间的高性能消息框架」深入浅出Disruptor的使用和原理

洛神灬殇

Disruptor LinkedBlockingQueue ArrayBlockingQueue 9月日更

北鲲云SaaS平台让生物医学关键环节不再靠“猜”

北鲲云

狄刚谈区块链:技术上去中心化并不等于管理去中心化

CECBC

什么是事务数据库?,Java程序员面试题集大全

Java 程序员 后端

Vite + Vue3 + OpenLayers

德育处主任

大前端 地图 vite Vue3 openlayers

NDK-AAudio

Changing Lin

9月日更

人才缺口超70万,15所高校新设区块链专业

CECBC

Who is Mavenir?

俞凡

Mavenir

世界的尽头是铁岭,互联网的尽头是它

艾小仙

三面滴滴Java岗,Java程序员校招蚂蚁金服

Java 程序员 后端

三面美团、四面阿里成功斩下offer,下血本买的

Java 程序员 后端

什么是Spring-Cloud、需要掌握哪些知识点,Java面试常问的算法题

Java 程序员 后端

什么?语音合成开源代码不会跑,Follow me!

华为云开发者联盟

tensorflow 语音合成 Tacotron2 DeepMind 深度神经网络模型

如何选择收银机主板?

双赞工控

安卓主板

三面蚂蚁惨败,面试官要求手写算法,从外包公司到今日头条offer

Java 后端

没有Linux服务器,该如何学习Linux呢?

Simon郎

大数据 Linux java;

性能测试中标记请求参数实践

FunTester

性能测试 接口测试 压力测试 FunTester 标记参数

用IoT放羊养牛,不出门也能知道它们的动向

华为云开发者联盟

物联网 华为云 iotda 畜牧业 华为云物联网平台

RocksDB原理及应用

hanaper

【墨天轮专访第四期】华为云GaussDB:发挥生态优势,培养应用型DBA

华为云数据库小助手

GaussDB 交流 华为云数据库 人物访谈

Swift 5进入发布倒计时_开源_Sergio De Simone_InfoQ精选文章