Swift 開源那點事

jopen 8年前發布 | 11K 次閱讀 Swift

最近各大網站上最喜大普奔的新聞莫過于 Swift 正式開源這條了。這無疑是一個里程碑式的前進,蘋果也向開源社區更加進了一步。那么 Swift 開源后有什么具體的改變呢,我們一一道來。

成立開源社區 swift.org

Swift 將開源社區功能都放在了 swift.org 這個網站上,提供了諸如 bug 報告系統,郵件列表,社區文檔,以及社區貢獻指引這些開源項目應具備的特性。

打開 swift.org 可以看到全新的開源社區主頁:

Swift 現在支持 Linux 了

開源的 Swift,可以移植到任何一個平臺,從此它不再是僅僅局限于 iOS 和 Mac 平臺的開發語言了。swift.org 網站上列出了支持 Linux 平臺的 Swift 開發包:

 Swift 開源那點事

除了下載地址,網站上還提供了在各個平臺上的環境配置指引。在 Mac 平臺上,我們不僅可以使用 XCode 自帶的 Swift 版本,也可以安裝最新的開發版 Swift(不過 swift.org 社區網站上還說明了一點,如果是提交到 App Store 的應用,則必須使用 XCode 默認的 Swift 版本進行編譯,這點需要大家注意)。

Github 上面的開放源代碼

Swift 將所有開放的源代碼托管到 Github 上面。它的 Github 主頁 https://github.com/apple/swift

進入主頁,Swift 的所有源代碼都可以供我們使用了。并且它的社區極其活躍,下面是我寫這篇文章時候對 Swift 在 Github 上項目的提交記錄的截圖,可以看到,幾個小時之內就有好多有效提交:

 Swift 開源那點事

Swift 包管理工具

隨著 Swift 的開源,社區為 Swift 推出了全新的包管理工具。Swift 包管理的規則是通過建立一個叫做 Package.swift 的文件實現的。這個文件中定義了當前項目的依賴包等等。

Swift 開源社區通過一個示例項目演示了包管理的使用方法, 我們在命令行輸入如下命令,即可使用這個示例項目,并通過包管理處理依賴包的獲取:

git clone https://github.com/apple/example-package-dealer.git
cd example-package-dealer
swift build
.build/debug/Dealer

首先,我們通過 git clone 將示例項目復制到本地,然后進入項目所在目錄,使用 swift build 命令構建項目,這時就會根據該項目的 Package.swift 文件,獲取相應的依賴包。

我們再來看一下這個項目中的 Package.swift 文件:

import PackageDescription

let package = Package(
    name: "Dealer",
    dependencies: [
        .Package(url: "https://github.com/apple/example-package-deckofplayingcards.git", majorVersion: 1),
    ]
)

我們看到,這個示例項目還依賴于另外一個項目 https://github.com/apple/example-package-deckofplayingcards.git。 當我們使用 swift build 進行構建的時候,包管理會幫助我們把相關的依賴項目也拉取下來,并進行構建。

我們之前也介紹過 iOS 平臺開發時用到的包管理工具,如果你對包管理的了解還不是很多,也可以參看這兩篇文章:

Carthage 包管理工具,另一種敏捷輕快的 iOS & MAC 開發體驗
Swift Tips - 當 Swift 遇上 CocoaPods

因為開源的 Swift 是跨平臺的,Swift 包管理的應用范圍在今后會更加廣泛。

Swift 核心庫

Swift 在今后會提供一套核心庫,這個庫不依賴于任何具體的平臺,針對編程中得基礎操作,比如通用的字符處理,網絡請求處理,多線程操作這些,都會通過核心庫的方式來實現。

社區網站上說的是,重新構建這樣一個庫是一個十分龐大的工程,所以決定基于現有的庫的基礎上進行構建,比如 在 iOS 的 Foundation 庫的基礎上構建核心庫。但這個核心庫雖然和蘋果平臺的接口很多類似,但他底層是依賴于 Objective-C 運行時的,所以它是一套獨立的庫。

目前,這樣核心庫的開發工作還在規劃當中,估計要的 Swift 3.x 版本才能發布出來。

Mailing List

最后嘛,Swift 社區提供了郵件列表訂閱,開源社區的各種交流溝通,都可以在這個郵件列表中進行,只需要將你的郵箱地址提交到表單中,即可開始訂閱郵件列表內容了。

結語

好啦,Swift 開源相關的主要內容跟大家分享的也差不多了。總的來說呢,對于 iOS 或者 Mac 平臺上 APP 的開發,這些變化的影響可能不那么明顯。我們開發 APP 的時候還是使用 XCode,還是提交到 AppStore,并且 Swift 版本也被限制在 XCode 自帶的范圍內。

但是從更遠的角度來看,開源對 Swift 來說是一件非常好的事情。今后的 Swift 會借助社區的力量更加壯大。也許在不久的將來 Swift 不僅能在 iOS 和 Mac 平臺上大展身手,可能也會成為一個服務端開發的利器。

就好像 Swift 原來只是蘋果公司在開發維護。而現在,全世界的開發者和團隊都可以為 Swift 的發展做出貢獻,甚至去決定 Swift 今后的方向。

來自:http://swiftcafe.io/2015/12/07/swift-opensource/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!