速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

关注

评论 1 条评论

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

君子动手不动口,FinClip 喊你做超级体验官啦!

FinClip

云端智创 | 聚焦云剪辑核心,一文详述智能生产全链路

阿里云CloudImagine

云计算 视频云 智能媒体生产

共攀元宇宙新高峰,2月14日沈阳元宇宙产业峰会邀您携手领跑2023

华为云开发者联盟

华为云 元宇宙 企业号 2 月 PK 榜 华为云开发者联盟 VR开发

华为云MRS支持lakeformation能力,打造一站式湖仓,释放数据价值

华为云开发者联盟

大数据 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

火山引擎DataTester“智能发布”:覆盖产品研发、测试、上线全流程,一站式智能管理A/B实验

字节跳动数据平台

大数据 AB testing实战 企业号 2 月 PK 榜

换个角度理解计算机网络,搭建计网知识框架

Java全栈架构师

程序员 面试 计算机网络 架构师 tcpip

巧用Maya轴心操作小技巧,工作事半功倍!

3DCAT实时渲染

Maya,渲染 Autodesk Maya

前端线下面授培训机构的选择

小谷哥

面试必备多线程&高并发通关手册(面试+源码+脑图)

小小怪下士

Java 程序员 面试 多线程 高并发

如何用一套代码运行跨多操作系统应用

HarmonyOS开发者

HarmonyOS

BI 仪表板/数据可视化大屏最全面的设计流程梳理

搞大屏的小北

需求分析 业务场景分析 BI 分析工具 可视化数据 BI 报表

尚硅谷发布九章云台项目视频

小谷哥

优化数仓业务视图:过滤条件传递

华为云开发者联盟

数据库 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

利用混沌工程提高微服务的弹性

NGINX开源社区

nginx 微服务架构 性能 企业号 2 月 PK 榜

下一朵云,会是谁

ToB行业头条

前端技术培训学习哪个机构好?

小谷哥

落地DevOps的三要素

老张

DevOps 软件工程 研发效能 交付质量

深圳双机热备软件厂商哪家好?咨询电话多少?

行云管家

高可用 系统故障 双机热备

关于Zebec生态的改进提案,以及即将上线的 Nautilus 链

股市老人

高性能图像处理的新利器——FlyCV

飞桨PaddlePaddle

paddle 飞桨 flycv

舞台LED显示屏使用禁忌

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家

YOLOv8来啦!YOLO内卷期模型怎么选?9+款AI硬件如何快速部署?深度解析

飞桨PaddlePaddle

paddle yolo 飞桨

怎么正确使用 NPS ?用对了才事半功倍

鼎道智联

运营 用户体验 用户推荐

TiDB 在安信证券资产中心与极速交易场景的实践

PingCAP

TiDB

如何通俗理解信创国产化是什么意思?有哪些系统?有什么意义?

行云管家

信创 堡垒机 国产操作系统

ONES 通过国内最权威信息安全等级认证——等保三级

万事ONES

关于Zebec生态的改进提案,即将上线的 Nautilus 链

西柚子

4-业务架构师眼中的需求是什么?

涛哥 数字产品和业务架构

业务架构 业务需求

关于飞桨PaddlePaddle

飞桨PaddlePaddle

paddle 开源 飞桨

Flutter 生成运行小程序的混合App开发实践

FinFish

flutter 移动开发 小程序技术 混合app

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