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