在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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:232672
用户头像

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

关注

评论 1 条评论

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

Python OpenCV 图像2D直方图,取经之旅第 27 天

梦想橡皮擦

Python OpenCV 4月日更

Java 常见 bean mapper 的性能及原理分析

Java小咖秀

Java bean Copier

不愧是阿里内部“Spring Cloud Alibaba学习笔记”这细节讲解,神了!

Java架构追梦

Java 阿里巴巴 架构 微服务 SpringCloud

1分钟搞定 Nginx 版本的平滑升级与回滚

民工哥

nginx 后端 linux运维

专访中寰卫星导航项目管理部负责人卜钢:如何演绎人生之路

打工人!

采访 调查采访能力考核

Markdown 文档可折叠化展示

耳东@Erdong

4月日更

Golang Slice 数组和切片

escray

学习 极客时间 Go 语言 4月日更

Vue3、Vuex4、Ant Design2的实战项目开发管理系统

devpoint

vite Vue3 and design of vue

计算机原理学习笔记 Day6

穿过生命散发芬芳

计算机原理 4月日更

const与指针交集的那些事

Bob

c++ 编程语言 4月日更

不想搞Java了,4年经验去面试10分钟结束,现在Java面试为何这么难

Java 编程 程序员 面试 计算机

LeetCode题解:17. 电话号码的字母组合,回溯,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

怎么拥有个人磁力

帅安技术

IP 个人磁力 KOL 思想 吸引力法则

使用JavaScript解析XML文件

空城机

JavaScript xml 大前端 递归 4月日更

接口的幂等性怎么设计?

xcbeyond

设计 幂等性 4月日更

Java-技术专题-Stream.foreach和foreach

码界西柚

Java stream collection

聊聊十种常见的软件架构模式

架构精进之路

4月日更

浅谈 MySQL 集群高可用架构

民工哥

MySQL MySQL 高可用 集群 linux运维

智慧城市现状调研

程序员架构进阶

华为 智慧城市 28天写作 4月日更

GraphX图计算组件最短路算法实战

小舰

4月日更

从被踢出局到5个30K+的offer,一路坎坷走来,沉下心,何尝不是前程万里

北游学Java

Java 数据库 分布式 微服务

我常用的两个外国应用

彭宏豪95

产品 产品经理 工具 社交 Slack

学会这15点,让你分分钟拿下Redis数据库

民工哥

后端 linux运维 redis cluster

隐私安全的城池营垒,能成为手机品牌高端化的赛点吗?

脑极体

json基础学习

ベ布小禅

4月日更

mosquitto支持websocket搭建记录

风翱

4月日更 web socket mosquitto

安于现状的人,不值得同情

小天同学

深度思考 个人感悟 4月日更 突破现状

阿里内部热捧“Spring全线笔记”,不止是全家桶,太完整了

Java架构追梦

Java spring 源码 架构 微服务

建议收藏!看完全面掌握,最详细的Redis总结(2021最新版)

民工哥

运维 后端 redis cluster NoSQL数据库

流计算:流式处理框架

正向成长

流式计算框架

车行易携手睿象云:告警管理体系全升级

睿象云

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