写点什么

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

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

关注

评论 1 条评论

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

90分钟10个手写案例,从源码底层给你讲解7种线程池创建方式

小Q

学习 源码 架构 面试 多线程

请回答2020:芯片巨头并购潮究竟意味着什么?

脑极体

如何让组织文化不在虚无?

Alan

团队管理 个人提升 文化 28天写作

朱嘉明:产业周期、科技周期与金融周期的失衡

CECBC

金融 科技

JVM垃圾回收性能分析

积极&丧

沪上首座“区块链生态谷”揭开面纱!

CECBC

大数据 生态产业

极客大学架构师训练营 - 同城快递业务架构设计

好吃不贵

极客大学架构师训练营

架构师训练营第十三周作业

月殇

极客大学架构师训练营

elasticsearch打怪升级之基础篇

泽睿

ES

我不喜欢挫折教育

熊斌

成长 自我思考 自我独白 个体成长

点燃“云+AI”的烽火,照亮网络安全的月之暗面

脑极体

牛啤了!字节跳动Java岗面试官把内部面试题(含答案)泄露了,明年金三银四有望了

面试 算法 架构师

Eureka 架构原理及其源码分析

Fox爱分享

Spring Cloud Eureka

太赞了!2021疫情期间八家大厂的Android面试经历和真题整理,值得收藏!

欢喜学安卓

android 程序员 面试 移动开发

太牛了!在字节跳动我是如何当面试官的,Android篇

欢喜学安卓

android 程序员 面试 移动开发

生产环境全链路压测建设历程13:淘宝网稳定性近十年发展历程 2009年-2019年

数列科技杨德华

全链路压测 七日更

滴滴开源Super-jacoco:java代码覆盖率收集平台

滴滴技术

Java 开源 滴滴开源 Super-Jacoco

阿里技术分享:电商IM消息平台,在群聊、直播场景下的技术实践

JackJiang

即时通讯 IM 群聊

冰河,能不能讲讲如何实现MySQL数据存储的无限扩容?

冰河

MySQL 分布式存储 海量数据 mycat 可扩展

算法爱好者福利—拓扑排序的简介及实现

比伯

Java 编程 架构 程序人生 算法

工作多年还是只会用wait和notify?30分钟用案例告诉你有更好得选择

小Q

Java 学习 编程 架构 面试

第四周学习心得

cc

微服务架构及其技术栈

Fox爱分享

微服务 Spring Cloud spring cloud alibaba

世界之书:《人类简史》与想象中的共同体

lidaobing

28天写作

“九章”问世,量子计算将如何影响区块链技术?

CECBC

量子计算机

第四周命题作业

cc

盘点2020 | 寒门难出贵子,我当程序员让爸妈在老家长脸了

爱笑的架构师

Java 程序员 程序人生 编程之路 盘点2020

架构2期第八周作业(1)

浮生一梦

极客大学架构师训练营 2组 第八周作业

详解C/C++协程实现原理及使用

赖猫

c++ 协程

算法太TM重要了!实战讲述Flutter跨平台框架应用,3面直接拿到offer

欢喜学安卓

android 程序员 面试 移动开发

【得物技术】基于配置的通用化动态报表平台设计与使用

得物技术

设计 动态 报表 平台 通用化

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