"Welcome to Swift!"html
Swift 語言自去年發佈以來,就成爲了歷史上發展最快的編程語言之一。本週四,Swift 團隊宣佈 Swift 編程語言正式開源,一同開源的還有 Swift 核心庫及包管理器。java
做爲介紹文章,本文主要包括本次 Swift 開源項目的基本介紹和 SegmentFault 社區優質 Swift 資源彙總。git
Swift Documentation
GitHub Swift 項目地址:https://github.com/apple/swift(目前已過萬 star)github
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 文件。swift -
文檔構建以後,就能夠經過
docs/_build/html/whitepaper/index.html
開始上手 Swift。你也能夠閱讀docs/LangRef
,從實現角度瞭解 Swift 是如何工做的。其實docs
中的不少文檔已通過時了 ╮(╯_╰)╭ ,固然最好的文檔仍是標準庫(stdlib
)啦~segmentfault
以後,你就能夠開始你的 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 中的泛型編程》 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 狂野之心