中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Swift 開源那點(diǎn)事

2018-07-20    來源:編程學(xué)習(xí)網(wǎng)

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用

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

 成立開源社區(qū) swift.org

  Swift 將開源社區(qū)功能都放在了 swift.org 這個網(wǎng)站上,提供了諸如 bug 報告系統(tǒng),郵件列表,社區(qū)文檔,以及社區(qū)貢獻(xiàn)指引這些開源項(xiàng)目應(yīng)具備的特性。

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

 Swift 現(xiàn)在支持 Linux 了

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

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

 Github 上面的開放源代碼

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

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

 Swift 包管理工具

  隨著 Swift 的開源,社區(qū)為 Swift 推出了全新的包管理工具。Swift 包管理的規(guī)則是通過建立一個叫做 Package.swift 的文件實(shí)現(xiàn)的。這個文件中定義了當(dāng)前項(xiàng)目的依賴包等等。

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

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

  首先,我們通過 git clone 將示例項(xiàng)目復(fù)制到本地,然后進(jìn)入項(xiàng)目所在目錄,使用 swift build 命令構(gòu)建項(xiàng)目,這時就會根據(jù)該項(xiàng)目的 Package.swift 文件,獲取相應(yīng)的依賴包。

  我們再來看一下這個項(xiàng)目中的 Package.swift 文件:

import PackageDescription

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

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

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

  Carthage 包管理工具,另一種敏捷輕快的 iOS & MAC 開發(fā)體驗(yàn)   Swift Tips - 當(dāng) Swift 遇上 CocoaPods

  因?yàn)殚_源的 Swift 是跨平臺的,Swift 包管理的應(yīng)用范圍在今后會更加廣泛。

 Swift 核心庫

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

  社區(qū)網(wǎng)站上說的是,重新構(gòu)建這樣一個庫是一個十分龐大的工程,所以決定基于現(xiàn)有的庫的基礎(chǔ)上進(jìn)行構(gòu)建,比如 在 iOS 的 Foundation 庫的基礎(chǔ)上構(gòu)建核心庫。但這個核心庫雖然和蘋果平臺的接口很多類似,但他底層是依賴于 Objective-C 運(yùn)行時的,所以它是一套獨(dú)立的庫。

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

 Mailing List

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

 結(jié)語

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

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

  就好像 Swift 原來只是蘋果公司在開發(fā)維護(hù)。而現(xiàn)在,全世界的開發(fā)者和團(tuán)隊(duì)都可以為 Swift 的發(fā)展做出貢獻(xiàn),甚至去決定 Swift 今后的方向。

標(biāo)簽: linux 代碼 開發(fā)者 網(wǎng)絡(luò)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:iOS開發(fā)-你能用到的面試題

下一篇:使用.NET進(jìn)行高效率互聯(lián)網(wǎng)敏捷開發(fā)的思考和探索