写点什么

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

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

关注

评论 1 条评论

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

节省 58% IT 成本,调用函数计算超过 30 亿次,石墨文档的 Serverless 实践

阿里巴巴云原生

阿里云 云原生 函数计算 石墨文档 资源伸缩

DDD实战(3):整体工作框架和全局需求分析

深清秋

DDD 软件架构 生鲜电商系统 3月月更

工作想法小计(4):2/28 - 3/4

非晓为骁

个人成长 工作 细节 工作想法

全链路压测(五):生产全链路压测实施全流程

老张

性能测试 全链路压测 稳定性保障

【模块四】千万级学生管理系统考试试卷存储方案设计

yhjhero

#架构训练营

【BBC learningenglish】with Tango

IT蜗壳-Tango

3月月更

几种如何判断环境是否连上网方法!推荐最后一种

华为云开发者联盟

网络 nodejs ipv4 上网 网络接口

[架构实战营]-千万级学生管理系统的考试试卷存储方案

邹玉麒

「架构实战营」

架构师训练营模块四作业

刘帅

模块四

blazar

「架构实战营」

模块八-作业二

hunk

云原生训练营

千万学生管理系统之考试模块存储架构设计

随欣所遇

架构训练营5期

第四课作业

浪飞

千万级学生管理系统考试试卷存储方案

Geek_36cc7c

千万级学生管理系统Redis存储架构

IT屠狗辈

redis 架构实战营

感受当下-人生意义的思索

李印

自我感悟 生活的意义

峰会报名|从金融行业技术选型,看 RocketMQ 如何应对严苛挑战

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列 峰会报名

在阿里巴巴,我们如何先于用户发现和定位 Kubernetes 集群问题?

阿里巴巴云原生

阿里云 云原生 分享 KubeProbe

强大的JSON.stringify,你真的会使用吗?

战场小包

JavaScript 前端 3月月更

千万级学生管理系统的考试试卷存储方案

风中奇缘

架构实战课 「架构实战营」

PHP 遇见 Serverless,帮你解决这些痛点!

阿里巴巴云原生

php 阿里云 Serverless 云原生

千万级学生管理系统的考试试卷存储方案

凌波微步

「架构实战营」

架构实战营:模块四作业

刘璐

MySQL 15条常用的SQL知识(18/100)

hackstoic

MySQL

构建 Go 应用 docker 镜像的十八种姿势

万俊峰Kevin

微服务 web开发 go-zero docker image Go 语言

Python二分查找,字符串模板,textwrap模块,每天写写Python自然就会了,每日Python第2天

梦想橡皮擦

3月月更

为什么说程序猿也要有产品思维

慕枫技术笔记

技术思维 内容合集 3月月更

模块四作业

Mr小公熊

最佳实践:Kubernetes 集群中 DNS 故障的可观测性与根因诊断

阿里巴巴云原生

阿里云 Kubernetes 云原生 服务器 DNS

数据分析不能落地?快来围观,学会数据分析应用,一起升职加薪!

博文视点Broadview

千万级学生管理系统考试试卷存储方案设计

tom

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