Swift 語言自去年釋出以來,就成為了曆史上發展最快的程式設計語言之一。本周四,Swift 團隊宣布 Swift 程式設計語言正式開源,一同開源的還有 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
指令來建構 Swift 文檔。這樣會将make
目錄下的docs
直接編譯進.rst
裡的 HTML 檔案。docs/_build/html
- 文檔建構之後,就可以通過
開始上手 Swift。你也可以閱讀docs/_build/html/whitepaper/index.html
,從實作角度了解 Swift 是如何工作的。其實docs/LangRef
中的很多文檔已經過時了 ╮(╯_╰)╭ ,當然最好的文檔還是标準庫(docs
)啦~stdlib
之後,你就可以開始你的 Swift 之路了:
https://github.com/apple/swift#swift-programming-language另外,這裡還有一些 Swift 相關的項目推薦,你也可以看一下:
git clone [email protected]:apple/swift.git swift
git clone [email protected]:apple/swift-llvm.git llvm
git clone [email protected]:apple/swift-clang.git clang
git clone [email protected]:apple/swift-lldb.git lldb
git clone [email protected]:apple/swift-cmark.git cmark
git clone [email protected]:apple/swift-llbuild.git llbuild
git clone [email protected]:apple/swift-package-manager.git swiftpm
git clone [email protected]:apple/swift-corelibs-xctest.git
git clone [email protected]:apple/swift-corelibs-foundation.git
除了開源 Swift 之外,Swift 團隊今天還開源了另外一些相關的重要項目,其中包括 Swift 核心庫和全新的 Swift 包管理器。
Swift 包管理器
Swift 包管理器是一個全新的項目,通過建立一個強大、使用者友好的工具來建構和共享 Swift 代碼,不過目前還處于早期開發階段。
GitHub 項目:
apple/swift-package-managerSwift 核心庫
Swift 核心庫項目是更進階别的 APIs 集合,基于 Swift 标準庫而成,這些庫提供的函數有:定位、網絡基元、單元測試、使用者參數等,此外還提供編碼規範。
核心庫基于 Apple 平台的架構命名分别為:Foundation,libdispatch 和 XCTest。
社群優質 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
- Auto Layout 使用心得 by JohnLui
- Swift + SpriteKit 中文教程 by 狂野之心
推薦
- 圖靈訪談:
- 重要活動: