文章目录
  1. 1. 开源资料整理
  2. 2. 开源了哪些东西?
  3. 3. Swift 2.2 和 Swift 3.0 规划
    1. 3.1. Swift 2.2
    2. 3.2. Swift 3.0

这周 Swift 界最热门的话题当然是, Swift 终于如期开源了。苹果没有跳票,也没有让我们白等。苹果表示要把 Swift 推广运行在所有平台,在目前的开源版本中,除了支持自己的 Mac OSX 和 iOS 以外,也支持 Linux(Ubuntu 14.04 和 15.10)。其他系统(比如 Windows)和发行版本,苹果的意思是需要借助社区的力量去拓展。

这周就来谈谈开源周边的一些资料整理和理解。相信社区内部也在火热的讨论着。

开源资料整理

开源了哪些东西?

  • Swift 编译器和标准库:Compiler and Standard Library
  • 基于标准库的核心库,提供更加实用的功能,比如数据处理,网络操作,文件操作等:Swift Core Libraries
  • LLDB(Low Level Debugger)调试器: 使用它提供给开发者一个丰富的 REPL(read-eval-print-loop) 运行调试工具。在 Xcode 中就集成了这个工具,同时也提供命令行工具。特别是在 Linux 下面,可以很方便的学习 Swift 语法。当然,在 Xcode 下面,还有 Playground 的福利,比 REPL 还是要好用很多。不过 Linux 下的首选还是 REPL,毕竟是命令行程序员嘛。介绍地址:REPL and Debugger
  • Swift 包管理器(Swift package manager): 当你需要编译多个相关的 Swift 源文件的时候,就需要用到这个工具,在跨平台的时候非常有用。介绍地址:Package Manager

Swift 2.2 和 Swift 3.0 规划

这里可以看到对未来 2 个版本的规划。

Swift 2.2

在 2016 年春季发布,主要目标是修复之前版本的 bug,并且为向 3.0 迁移做准备。社区吐槽最多的是编译时的警告和错误信息问题,经常蹦出一些莫名其妙的提示。

Swift 3.0

Swift 3.0 预计会在 2016 年秋季发布,应该是随着 WWDC 2016 大会一起发布了。上面说到的 README 文章里面,详细地介绍了 Swift 3.0 会有包括那些方面:

  • Stable ABI:稳定的二进制接口
  • Resilience:极强的扩展适应能力,为后续的版本打好基础
  • Portability:可移植性,这也是苹果的野心,把 Swift 推广运用到所有平台
  • Type system cleanup and documentation:重新整理类型体系,使之更加清晰
  • Complete generics:全面泛型化,可以使得 Swift 能提供更好的扩展适应能力
  • Focus and refine the language:聚焦在语言本身,改进语言不好的地方
  • API design guidelines:提供给开发者设计 Swift API 的一些指导原则,这样社区做出来的开源 API 风格更加一致

Swift 3.0 不会考虑加入的内容有:

  • Full source compatibility:不会提供全方位的代码兼容,也就是说,很多来的 Swift 代码,需要做一些修改,才能在 Swift 3.0 语法下才能编译通过
  • Concurrency:语言层面的支持是不行的,当然,你可以调用 OC 的代码来实现
  • C++ Interoperability: C++ 已然是一个庞然大物了,和 OC 的交互已经让苹果掉了一层皮了,估计苹果对 C++ 的交互的考虑,主要还是想借助开源社区的力量了。

已经被 3.0 接收的特性点:

文章目录
  1. 1. 开源资料整理
  2. 2. 开源了哪些东西?
  3. 3. Swift 2.2 和 Swift 3.0 规划
    1. 3.1. Swift 2.2
    2. 3.2. Swift 3.0