Swift 语言自去年发布以来,就成为了历史上发展最快的编程语言之一。本周四,Swift 团队宣布 Swift 编程语言正式开源,一同开源的还有 Swift 核心库及包管理器。
作为介绍文章,本文主要包括本次 Swift 开源项目的基本介绍和 SegmentFault 社区优质 Swift 资源汇总。
Swift Documentation
GitHub Swift 项目地址:https://github.com/apple/swift(目前已过万 star)
Swift 由多种不同的项目组成,提供一个构建软件的完整生态系统,由 Objective-C 和许多其他语言启发而生,但它本身并不是一个「C-衍生语言」。Swift 编译器项目解析 Swift 语法, 产生语义判断来帮助编写正确代码,利用 LLVM 生成机器指令。LLDB 项目是 first-class 调试器,包含一个 REPL 进行交互编程。Swfit 标准库项目包含所有核心类型和基础函数。
从文档构建开始上手 Swift:
-
首先安装 Sphinx 文档生成器(在命令行直接运行
easy_install -U Sphinx
即可),然后就可以进入docs
,通过make
命令来构建 Swift 文档。这样会将docs
目录下的.rst
直接编译进docs/_build/html
里的 HTML 文件。 -
文档构建之后,就可以通过
docs/_build/html/whitepaper/index.html
开始上手 Swift。你也可以阅读docs/LangRef
,从实现角度了解 Swift 是如何工作的。其实docs
中的很多文档已经过时了 ╮(╯_╰)╭ ,当然最好的文档还是标准库(stdlib
)啦~
之后,你就可以开始你的 Swift 之路了:https://github.com/apple/swift#swift-programming-language
另外,这里还有一些 Swift 相关的项目推荐,你也可以看一下:
git clone git@github.com:apple/swift.git swift
git clone git@github.com:apple/swift-llvm.git llvm
git clone git@github.com:apple/swift-clang.git clang
git clone git@github.com:apple/swift-lldb.git lldb
git clone git@github.com:apple/swift-cmark.git cmark
git clone git@github.com:apple/swift-llbuild.git llbuild
git clone git@github.com:apple/swift-package-manager.git swiftpm
git clone git@github.com:apple/swift-corelibs-xctest.git
git clone git@github.com:apple/swift-corelibs-foundation.git
除了开源 Swift 之外,Swift 团队今天还开源了另外一些相关的重要项目,其中包括 Swift 核心库和全新的 Swift 包管理器。
Swift 包管理器
Swift 包管理器是一个全新的项目,通过创建一个强大、用户友好的工具来构建和共享 Swift 代码,不过目前还处于早期开发阶段。
GitHub 项目:apple/swift-package-manager
Swift 核心库
Swift 核心库项目是更高级别的 APIs 集合,基于 Swift 标准库而成,这些库提供的函数有:定位、网络基元、单元测试、用户参数等,此外还提供编码规范。
核心库基于 Apple 平台的框架命名分别为:Foundation,libdispatch 和 XCTest。
GitHub 项目:
社区优质 Swift 资源
SegmentFault 社区现已有大量和 Swift 相关的优质内容,此处给大家推荐部分。
文章
- 《杂谈 Apple Swift》 by RobinQu
- 《Swift 2.0 初探》 by DevTalking
- 《Swift 中的文件和初始化》
- 《在 Swift 中使用 C 语言的指针》
- 《在 Swift 中构建布尔类型》
- 《Swift 新特性 - 访问控制(Access Control)》
- 《Swift 中的泛型编程》 by 王下邀月熊
- 《Swift:Generators 与 Sequences 浅析》 by Cruise_Chan
- 《基本的图算法:Swift 实现》
- 《Swift 中枚举高级用法及实践》 by SwiftGG翻译组
- 《Swift 反射 API 及用法》
- 《Swift35/90Days - iOS 中的设计模式 (Swift 版本) 01》 by callmewhy
- 《Swift37/90Days - iOS 中的设计模式 (Swift 版本) 02》
优质专栏
- SwiftGG翻译组:授权翻译国外 Swift 大牛的优秀 Swift 文章,绝对走心,绝对一手
- 汪海的实验室:Swift 90 Days
- DevTalking:细心的 Swift 学习
- 青楼烟雨:深度 iOS 学习指南
系列
- Swift 90 Days by callmewhy
- Auto Layout 使用心得 by JohnLui
- Swift + SpriteKit 中文教程 by 狂野之心
推荐
- 图灵访谈:
- 重要活动: