"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 狂野之心