有關(guān)Perfect
Swift的開源使得用Swift寫服務(wù)端的代碼成為可能,Perfect是一款用Swift寫的服務(wù)端開源框架嗎,類似的開源框架還有Vapor等,但是我們可以進入Perfect Github主頁看一下,這個框架目前有著11818 stars,是目前star最多的Swift端開源框架,這也是為什么我選擇用Perfect的原因。
配置以及要求
Swift3.0
如果你的電腦上的Swift版本低于3.0 Perfect是無法進行編譯運行的
Mac OS系統(tǒng)或者是Linux系統(tǒng)。
Perfect框架可以在Ubuntu Linux 14.04 and 15.10環(huán)境下運行,當然在Mac OS上運行是絕對沒問題的。
Swift環(huán)境配置
Mac OS
我們打開終端在里面輸入命令 $ swift --version
如果我們看到類似下方的結(jié)果就說明Swift環(huán)境是OK的了
Apple Swift version 3.1 (swiftlang-802.0.53 clang-802.0.42)
Target: x86_64-apple-macosx10.9
Ubuntu Linux
首先下載Swift3.0的安裝包
打開鏈接 https://swift.org/download/#releases,下載對應(yīng)系統(tǒng)版本的包, 筆者下載的是 https://swift.org/builds/swift-3.0-release/ubuntu1510/swift-3.0-RELEASE/swift-3.0-RELEASE-ubuntu15.10.tar.gz,可以直接用瀏覽器下載解壓,也可以用終端命令操作:
$ wget https://swift.org/builds/swift-3.0-release/ubuntu1510/swift-3.0-RELEASE/swift-3.0-RELEASE-ubuntu15.10.tar.gz
等待下載完成以后,手動點擊解壓或者執(zhí)行命令解壓:
$ sudo tar xzf swift-3.0-RELEASE-ubuntu15.10.tar.gz
然后安裝RPM包:
$ sudo apt-get -y install clang libicu-dev
為Swift 設(shè)置環(huán)境變量:
$ gedit ~/.bashrc
在最后一行輸入你Swift所在路徑內(nèi)的/usr/bin,例如我的如下:
$ export PATH=/home/momo/swift/swift-3.0-RELEASE-ubuntu15.10/usr/bin:"${PATH}"
保存后,退出終端重新打開,輸入指令可以看到對應(yīng)的版本號:
$ swift --version
如果看到
Swift version 3.1.1 (swift-3.1.1-RELEASE)
Target: x86_64-unknown-linux-gnu
那么恭喜你成功了
萬事俱備只欠Perfect
Perfect依賴于若干軟件接口庫,比如OpenSSL、libssl-dev和uuid-dev。所以我們還需要安裝一下這些內(nèi)容
打開終端輸入命令:
$ brew install openssl
//Linux 中換成
$ sudo apt-get install openssl libssl-dev uuid-dev
OK,現(xiàn)在我們來安裝Perfect
打開終端分別輸入如下命令:
$ git clone https://github.com/PerfectlySoft/PerfectTemplate.git
$ cd PerfectTemplate
$ swift build
$ .build/debug/PerfectTemplate
在"swift build"命令運行時你需要稍等片刻,在運行完最后一個命令后如果您看到:
Starting HTTP server on 0.0.0.0:8181 with document root ./webroot
OK,您已經(jīng)離勝利不遠啦
現(xiàn)在我們只要打開瀏覽器輸入http://0.0.0.0:8181/您就能看到熟悉的“hello world”,至此我們已經(jīng)成功搭建了Perfect環(huán)境了。
如果您是尊貴的Mac用戶,你也可以打開終端輸入:
$ swift package generate-xcodeproj
等成功以后就可以在項目根目錄中找到熟悉的Xcode工程文件,此時您打開該工程文件--熟悉的Command + R,打開瀏覽器輸入http://0.0.0.0:8181/,同樣是熟悉的"hello world"