写点什么

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

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

关注

评论 1 条评论

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

Android系统揭秘(五)-应用程序启动

android 程序员 移动开发

android进阶篇08、启动速度、卡顿与布局优化简述

android 程序员 移动开发

Android程序员如何平稳度过35岁的坎?

android 程序员 移动开发

Android自定义照相机实现(拍照、保存到SD卡,利用Bundle在Acitivity交换数据

android 程序员 移动开发

Android通讯录开发之取得姓名首字母实现简拼搜索

android 程序员 移动开发

Android通过URI获取文件路径

android 程序员 移动开发

Android程序员就业到底有多难!

android 程序员 移动开发

Android菜鸟6年开发面试字节跳动安卓研发岗,被面试官怼的没话说

android 程序员 移动开发

Android达到什么水平才能顺利拿到 20k 无压力?

android 程序员 移动开发

Android进程框架:进程的创建、启动与调度流程

android 程序员 移动开发

Android第三方库解析

android 程序员 移动开发

Android缓冲进度条或加载进度条

android 程序员 移动开发

Android系统架构概述

android 程序员 移动开发

Android网络连接判断与处理

android 程序员 移动开发

Android自定义DataTimePicker(日期选择器)

android 程序员 移动开发

Android自定义view;实现掌阅打开书籍动画效果

android 程序员 移动开发

Android自定义控件开发入门与实战(6)路径动画

android 程序员 移动开发

Android记录25-WebView实现离线缓存阅读

android 程序员 移动开发

Android触摸屏事件派发机制详解与源码分析三(Activity篇)

android 程序员 移动开发

Android面经分享:从15K到32K,从小厂到大厂,我是如何做到的

android 程序员 移动开发

Android第三方开发包值高德地图SDK使用介绍

android 程序员 移动开发

Android简易天气App

android 程序员 移动开发

Android进阶:自定义视频播放器开发(上)

android 程序员 移动开发

Android隐藏系统状态栏(沉浸式状态栏)和设置状态栏颜色

android 程序员 移动开发

Android程序员进阶为架构师的三个关键

android 程序员 移动开发

Android端应用秒开优化体验

android 程序员 移动开发

Android笔记:Android-组件化方案探索与思考

android 程序员 移动开发

Android自定义控件开发入门与实战(17)手势检测

android 程序员 移动开发

android解决AlarmManager警报器计时不准,在手机灭屏后延迟的问题

android 程序员 移动开发

Android进阶——Android跨进程通讯机制之Binder、IBinder

android 程序员 移动开发

Android面经分享:快手、字节跳动、百度

android 程序员 移动开发

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