写点什么

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

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

关注

评论 1 条评论

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

Python 初学者容易踩的 5 个坑

不在线第一只蜗牛

Java Python 开发语言

通过统一规划和团队整合,提升企业财务洞察

智达方通

全面预算管理 财务洞察

2024 年 2 月 NFT 行业动态:加密货币飙升,NFT 市场调整

Footprint Analytics

blockchain NFT NFT链游

WebRTC构建点对点的即时通讯工具

鲸品堂

工具 企业号 3 月 PK 榜

Vue3 - 表单的输入与绑定

霍格沃兹测试开发学社

淘宝API接口开发系列,接口封装,淘宝开放平台API接口

Anzexi58

API API 接口 API 文档

新一代实时数据集成框架 Flink CDC 3.0 —— 核心技术架构解析

Apache Flink

为多渠道销售集成商品API接口

Noah

火山引擎“数据飞轮”助力哪吒汽车智能创新

Geek_2d6073

学编程前需要知道哪些编程语言呢?

小齐写代码

有点害怕,浏览器插件风险这么多?

高端章鱼哥

一文让你知道,云计算环境下云管平台的重要性

行云管家

云计算 云服务 云管平台 云资源

发布DDD脚手架到Maven仓库,IntelliJ IDEA 配置一下即可使用

EquatorCoco

Java DDD IDEA

机器人装行业MES/低代码平台免费使用/低代码MES

万界星空科技

低代码 低代码平台 mes 万界星空科技 机器人组装

探索PyTorch:介绍及常用工具包展示

霍格沃兹测试开发学社

深度!10个头脑风暴必备的模板,让脑暴更高效和富有成效!

彭宏豪95

思维导图 头脑风暴 在线白板 在线协作 效率软件

软件测试学习笔记丨数据库基础知识

测试人

数据库 软件测试

智能合约开发:每周加密货币回顾(2024年3月11日)

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发

软件测试学习笔记丨Allure2运行方式&问题调试

测试人

软件测试

印刷行业实施MES管理系统有哪些重要的意义

万界星空科技

工业互联网 制造业 mes 印刷行业 万界星空科技

实例带你了解GaussDB数据库的LOCK TABLE

华为云开发者联盟

数据库 后端 华为云 华为云GaussDB 华为云开发者联盟

深入理解位运算符及其在JavaScript中的应用

Immerse

Python实现企业微信自动打卡程序二:跳过节假日,随机打卡时间,定时任务,失败通知

快乐非自愿限量之名

Python 软件开发 打卡

充电桩组装行业生产管理MES系统解决方案

万界星空科技

制造业 生产管理系统 mes 充电桩 汽车充电桩

RDS for MariaDB“智能DBA助手”,让运维效率嗖嗖地!

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟

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