美文网首页
Swift版本历史和各版本特性

Swift版本历史和各版本特性

作者: Travelcolor | 来源:发表于2019-11-28 21:10 被阅读0次
    • 编辑时间:2019年11月

    发展历史

    - 大约在2010年7月,苹果开始研发Swift语言
    - 从2014年至今,已经有15个版本发布,其中有5个大版本,10个小版本
    /**
    1.0版本:2014年8月
    2.0版本:2015年9月(年底12月开源)
    3.0版本:2016年9月
    4.0版本:2017年9月
    5.0版本:2019年3月
    5.1版本:2019年6月
    */
    
    • Objective-C 从80年代发布至今,只有两个版本
    • Swift 2015年12月正式开源,目前Swift可以应用到多个领域,甚至连TensorFlow也有Swift语言版本

    Swift 2
    1. Error handing增强
    2. guard 语法
    3. 协议支持扩展 等等
    Swift 3
    1. 新的GCD和Core Graphics
    2. NS前缀从老的Foundation类型中移除
    3. 内联序列函数sequence
    4. 新增fileprivate和open两个权限控制
    5. 移除了诸多弃用的特性,比如++、-- (两个--) 运算符等(因为和加1减1没有区别)
    6. 增加区间运算符
    Swift 4
    1. extension中科院访问private的属性
    2. 类型和协议的组合类型
    3. Associated Type可以追加Where约束语句
    4. 新的Key Paths语法
    5. 下标支持泛型
    6. 字符串增强 等等
    Swift 5
    1. ABI稳定(意味着Binary interface稳定,运行的时候只要使用Swift5以上的编译器,编译出来的Binary,都可以跑在Swift5以上或者runtime上面,不用在App中放一SwiftRuntime,放了SwiftRuntime会使包变的非常大)

    一些疑问:

    • Apple什么时间发布用Swift写的系统框架,目前GCD、Core Framework等,用C或者OC来编写的
    • Apple什么时间会提供Swift Only API
    • Apple什么时间开始锁定Objective-C 的SDK,不再新增API
    • Apple什么时间会用Swift的特性来更新Objective-C的SDK
    1. Raw strings
    2. 标准库新增Result
    3. 定义了与Python或Ruby等脚本语言互操作的动态可调用类型
    4. ......

    API(Application Programming Interface):应用程序编程接口

    • 源代码和库之间的接口

    ABI (Application Binary Interface):应用程序二进制接口

    • 应用程序与操作系统之间的底层接口
    • 涉及的内容有:目标文件格式、数据类型的大小/布局/对齐、函数调用约定等等

    Swift完全开源:https://github.com/apple/swift,主要采用C++Swift编写

    相关文章

      网友评论

          本文标题:Swift版本历史和各版本特性

          本文链接:https://www.haomeiwen.com/subject/kwkiwctx.html