写点什么

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

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

关注

评论 1 条评论

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

流程大咖说 |面向对象事件日志 OCEL技术详解

凡得流程PROCESS X

信息技术 企业构架 流程资产 #流程挖掘

MyEMS:开源能源管理系统的实践与价值

开源能源管理系统

开源 开源能源管理系统

新手友好!ModelArts 部署 + CodeArts IDE 调用,商品商超识别模型快速落地

华为云开发者联盟

AI modelarts 华为开发者空间

企业如何做好知识治理?这份来自华为的经验请收好!

YG科技

非凸科技连续两年荣登 IDC中国FinTech Emerging 50

非凸科技

精准把控人力,PJMan “负荷分析” 助力项目高效推进

Tecjt_锦图科技

项目管理 甘特图 项目进度管理

0910-求职与招聘热点信息汇总

Y11

求职 找工作 招聘 应届生 实习

当“数据波动”遇上“智能归因”,谁在背后画出那张因果地图?

Aloudata

数据分析 agent ChatBI 智能问数 智能归因

基于华为开发者空间,玩转MySQL系列

华为云开发者联盟

华为开发者空间 mysql'

灵码产品演示:软件工程架构分析

阿里云云效

阿里云 云原生 通义灵码

灵码产品演示:软件工程架构分析

阿里巴巴云原生

阿里云 云原生 通义灵码

CAD如何实现模型和布局空间的图形对齐

极客天地

联通SD-WAN和移动SD-WAN在网络质量服务价格等对比

宽炜网络

SD-WAN

DAT(加密资产财库)这两个月为什么这么火?

TechubNews

基于华为开发者空间的云端JVM服务远程调试:CodeArts IDE配置指南

华为云开发者联盟

JVM CodeArts 华为开发者空间

告别部署难题:基于华为开发者空间的CodeArts Deploy容器化部署解决方案

华为云开发者联盟

JVM 华为开发者空间

基于 TensorFlow 的 PyTorch-MNIST 手写体识别系统开发案例

华为云开发者联盟

tensorflow MNIST PyCharm Pro 华为开发者空间

CFD专栏丨ultraFluidX 动力舱热仿真

Altair RapidMiner

CAE Hypermesh CFD 流体仿真 ultraFluidX

选择MyEMS:为什么开源是能源数字化未来的最佳路径?

开源能源管理系统

开源 能源管理系统

1688图片搜索相似商品API接入全攻略

tbapi

1688API 1688图片搜索接口 1688拍立淘接口

免费用鲲鹏资源!华为开发者空间实操:DevKit Java 性能分析,新手也能上手

华为云开发者联盟

鲲鹏 DevKit 华为开发者空间

VibeCoding On Function AI Deep Dive:用 AI 应用生产 AI 应用

阿里巴巴云原生

阿里云 AI 云原生

0基础带你精通Java对象序列化--以Hessian为例|得物技术

得物技术

编程语言 中间件

MyEMS:功能强大的开源能源管理系统,助力企业实现精细化能效管理

开源能源管理系统

开源 能源管理系统

GitCode 管代码 + Git 命令实操,云主机上轻松搞定项目版本控制

华为云开发者联盟

华为开发者空间 citcode

基于华为开发者空间,用大数据带你挖掘电商Top10热门品类

华为云开发者联盟

华为开发者空间

基于 MaaS 结合开发者空间 Astro 低代码平台的就业问卷 AI 择业咨询方案

华为云开发者联盟

Astro 华为开发者空间

用华为 CodeArts 搞 DevOps!团队协作搭流水线,端到端支持软件交付

华为云开发者联盟

DevOps 华为开发者空间

VibeCoding On Function AI Deep Dive:用 AI 应用生产 AI 应用

阿里巴巴云原生

阿里云 云原生

从零开始搭建Qwen智能体:新手也能轻松上手指南

测吧(北京)科技有限公司

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