Apple 正式开源 Swift 语言及其核心库和包管理器 - 新闻
"Welcome to Swift!"
自从苹果去年发布 Swift 语言,就成为了历史上发展最快的编程语言之一。本周四,Swift 团队宣布 Swift 编程语言正式开源,一同开源的还有 Swift 核心库及包管理器。
本文作为介绍文章,主要包含基本介绍和 SegmentFault 社区优质资源汇总。
Swift Documentation
GitHub Swift 项目地址:https://github.com/apple/swift
Swift 是由多种不同的项目组成的,提供一个构建软件的完整生态系统,由 Objective-C 和许多其他语言启发而生,但它本身并不是一个「C-衍生语言」。Swift 编译器项目解析 Swift 语法,产生语义判断来帮助编写正确代码,利用 LLVM 生成机器指令。LLDB 项目是 first-class 调试器,包含一个 REPL 进行交互编程。Swfit 标准库项目包含所有核心类型和基础函数。
首先安装 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 swiftgit clone git@github.com:apple/swift-llvm.git llvmgit clone git@github.com:apple/swift-clang.git clanggit clone git@github.com:apple/swift-lldb.git lldbgit clone git@github.com:apple/swift-cmark.git cmarkgit clone git@github.com:apple/swift-llbuild.git llbuildgit clone git@github.com:apple/swift-package-manager.git swiftpmgit clone git@github.com:apple/swift-corelibs-xctest.gitgit 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 项目:
apple/swift-corelibs-foundation
apple/swift-corelibs-xctest
apple/swift-corelibs-libdispatch
社区优质 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 狂野之心
推荐
图灵访谈:
《Swift 与 Cocoa 框架开发》作者 Paris Buttfield-Addison:你的编程生涯可以从 Swift 开始!
Swift 开发者大会组织者梁杰:你的到来是一个重要的决定
重要活动:
中国首届 Swift 开发者大会
SegmentFault D-Day 2015 北京:iOS 站