編者語: 對於一個新事物,若是你花點心機仍是有不少收穫的。html
前兩篇,分別講述了入門和在Linux下部署,如今得說說如何在Linux下開發了。在Linux下開發,相對比在Mac下開發更靈活。
咱們先來看看構建基於Perfect的網站服務的編譯方式
linux
如圖經過引用基礎庫PerfectLib和數據連接,中間件模塊建立你的網頁文件,並用makefile打包生成你的網站動態庫。因此若是你只是在Linux下構建項目,你只須要先建立好你的Handlers.Swift便可。對比起在Xcode經過模版或者Framework的方式簡潔很多。這裏你們會想可否用Swift Package Manager引用PerfectLib的方式對Handlers.swift進行編譯?現階段是不能夠的,因爲Perfect是用動態庫的方式打包PerfectLib而Package Manager不支持動態庫的引用,因此若是你想整合Package Manager直接編譯你的Handlers.swift是不能夠的。(你只能寄望蘋果儘快支持)。如今你只能用makefile動態編譯。shell
根據上面的方式咱們開始在Linux下建立咱們的Perfect項目。swift
1. 關於建立的路徑,我的建議放在Github下載的Perfect目錄下,由於你須要引用對應的基礎庫,比較容易管理和調用。這裏我在Perfect文件夾建立了一個Demo文件夾,做爲新項目的目錄。
app
2. 在Demo文件夾下建立一個PerfectHandlers.swift 和 makefile。建議你們使用IDE進行編輯,這裏我建議使用Visual Studio Code,雖然是微軟的產品,可是勝在對swift支持較好,對比起atom更穩定。
看看咱們的PerfectHandlers.swift,和前面說的同樣,代碼以下:frontend
[plain] view plain copy網站
而makefile就是咱們把Demo編譯成動態庫的關鍵文件了,先看看代碼:spa
[plain] view plain copy.net
makefile 這裏有幾個關鍵的地方須要注意,
a. TARGET是編譯目標和你的項目名保持一致, 這裏就是TARGET = Demo
b. DEMO_SRC 這個是須要把你的全部swift文件包含進去,由於要一塊兒打包到靜態庫內,你能夠參考Examples/Authenticator內的makefile
3. 在終端,編譯便可,執行sudo make編譯成功以下圖
4. 把生成的Demo.so遷移到Perfect/var/www/PerfectLibraries中(改目錄的建立和使用請參考 http://blog.csdn.net/kinfey/article/details/50664353)
5. 執行sudo ./perfectServerHttp.sh start 便可
在Linux下建立Perfect項目,讓Perfect項目的維護和升級更有保障了,並且比在Xcode下建立項目更加簡單直接,建議你們上手使用