如果你想用swift 語(yǔ)言構(gòu)建后臺(tái)服務(wù)端,那么恭喜你,目前流行的swift server 有兩款,一款是基于swift語(yǔ)言的Swift的Perfect服務(wù)端,還有一款是vapor服務(wù)端,兩者相比vapor服務(wù)端更容易上手,搭配部署環(huán)境更容易,后期服務(wù)器更新代碼也是一鍵傻瓜式操作。Perfect服務(wù)端環(huán)境搭配和后期代碼更新相對(duì)復(fù)雜,反正作者嘗試過(guò)兩次,都失敗了,按照官方教程中間會(huì)出現(xiàn)莫名的報(bào)錯(cuò),而vapor一次成功。

如果你是一名iOS開(kāi)發(fā)者,在準(zhǔn)備搭建環(huán)境之前,建議你先看看vapor官方的環(huán)境搭建和安裝方法 vapor官方安裝文檔 中間會(huì)下載一些輔助工具,如果你不能翻墻,那么很可能無(wú)法完成安裝
先說(shuō)明一下,請(qǐng)你不要被我上面的介紹搞蒙圈了,說(shuō)白了,這個(gè)swift-vapor服務(wù)器就是一個(gè)swift工程,可以在工程里面利用swift語(yǔ)言編寫(xiě)api接口,操作數(shù)據(jù)庫(kù)等等。
學(xué)會(huì)這個(gè),你可以用這個(gè)vapor服務(wù)端做哪些事情?
1.iOS、Android 后臺(tái)服務(wù)器開(kāi)發(fā),前后端自己可以單抗了~
2.如果你會(huì)html開(kāi)發(fā),那么控制臺(tái),網(wǎng)頁(yè)你也可以單抗了~
3.小程序后臺(tái)?沒(méi)問(wèn)題!win應(yīng)用后臺(tái),mac應(yīng)用后臺(tái)都能勝任
4.主流服務(wù)器能做的事情vapor都能做
為了提起你的興趣,在安裝之前先介紹下我利用swift-vapor服務(wù)器開(kāi)發(fā)的成果
1.iOS app 一枚(應(yīng)用名:私人社區(qū) App Store鏈接)
2.iOS app (私人社區(qū))配套官網(wǎng)一個(gè):私人社區(qū)官網(wǎng)一私人社區(qū)官網(wǎng)二
3.小程序一枚(正在開(kāi)發(fā)中...)
4.服務(wù)端和app客戶端以及網(wǎng)頁(yè)源代碼在文章底部
開(kāi)始安裝:
1.安裝安裝Vapor和toolbox
安裝指令:
curl -sL check.vapor.sh| bash
curl -sL toolbox.vapor.sh| bash
備注:我是利用mac 自帶的終端執(zhí)行的命令
2.新建工程
安裝指令:
vapor --help
vapor new yourVapor
備注 yourVapor 是指你server工程的名稱可以隨便取,成功之后如下圖

3.打開(kāi)項(xiàng)目
vapor xcode-y
打開(kāi)項(xiàng)目之后,找到sources目錄下的app/main.swift文件,拷貝下面的代碼cmd+a,cmd+v
import Vapor
let drop = Droplet()
drop.get { req in
return try drop.view.make("welcome", [
"message": drop.localization[req.lang, "welcome", "title"]
])
}
drop.get("json") { request in
return try JSON(node: [
"number": 123,
"string": "test",
"array": try JSON(node: [
0, 1, 2, 3
]),
"dict": try JSON(node: [
"name": "Vapor",
"lang": "Swift"
])
])
}
drop.resource("posts", PostController())
drop.run()
然后運(yùn)行選擇app運(yùn)行在mac上
在瀏覽器輸入并訪問(wèn) http://localhost:8080 可以看到一個(gè)網(wǎng)頁(yè)
在瀏覽器輸入 http://localhost:8080/json可以看到一段json

4.配置數(shù)據(jù)庫(kù)
(備注:下面操作可能需要翻墻)
如果前三步你沒(méi)有出現(xiàn)什么報(bào)錯(cuò)和異常,你應(yīng)該可以跟著我繼續(xù)了,如果出現(xiàn)問(wèn)題可以在下面留言。
使用Postgres作為數(shù)據(jù)庫(kù),
安裝部署Homebrew,然后利用Homebrew安裝Postgres數(shù)據(jù)庫(kù),
brew install postgres
然后在heroku上面部署自己的服務(wù)器:https://dashboard.heroku.com/
首先得先去官網(wǎng)注冊(cè)個(gè)賬號(hào),然后
安裝Heroku toolbeit 命令號(hào)工具,安裝好之后測(cè)試下,沒(méi)啥問(wèn)題就登陸了,后面賬號(hào)密碼,就是你在heroku官網(wǎng)注冊(cè)的
heroku --version
heroku login

5.部署服務(wù)器
先cd到工程文件夾
git init
git add .
git commit -am "xxx"
提交成功之后,開(kāi)始設(shè)置服務(wù)器
vapor heroku init
接下來(lái)會(huì)有幾個(gè)問(wèn)答需要你確認(rèn),配置服務(wù)器用的(不要怕輸錯(cuò),根據(jù)自己的需求,后面可以去heroku官網(wǎng)找到自己的app,在設(shè)置里面修改)
1.Would you like to provide a custom Heroku app name?
你需要自定義你的Heroku app名字嗎,當(dāng)然需要,輸入Y
2.Custom app name?
'你的APP名字,例testqq'
3.Would you like to provide a custom Heroku buildpack?
是否需要編譯空間 輸入N,
4.Are you using a custom Executable name?
N
5.Would you like to push to Heroku now?
Y
稍等會(huì),推送完成之后就可以訪問(wèn)你的遠(yuǎn)程heroku服務(wù)器了
https://testqq.herokuapp.com/ (備注:這里的testqq就是剛才設(shè)置的app名字)
最后一步:給你的遠(yuǎn)程服務(wù)器配置數(shù)據(jù)庫(kù)
heroku addons:create heroku-postgresql:hobby-dev
你可以訪問(wèn)你的遠(yuǎn)程服務(wù)器資源,如:獲取json:https://testqq.herokuapp.com/json
備注:每次你修改完服務(wù)器代碼之后,你只需要:
git commit -am "加了新東西"
git push heroku master
Ok,到此為止,如果你以上過(guò)程中沒(méi)有出現(xiàn)什么問(wèn)題,那么你基本上已經(jīng)學(xué)會(huì)如何利用Swift寫(xiě)服務(wù)器了,在此之前,你可以先下載我的服務(wù)端和客戶端代碼跑起來(lái)預(yù)習(xí)了解自己嘗試下,服務(wù)器工程需要cd到目錄,用vapor xcode -y 打開(kāi)
vapor xcode -y
服務(wù)器本地需要安裝
pgAdmin 4,最下面附件有,方便調(diào)試管理。
私人社區(qū)iOS app服務(wù)器接口截圖

如果你是大神,并且已經(jīng)精通Vapor服務(wù)器,這里我也有贈(zèng)品相送,畢竟學(xué)無(wú)止境
讓大家滿載而歸,老鳥(niǎo)贈(zèng)品??,點(diǎn)我

下一篇:我將介紹我項(xiàng)目里面如何使用vapor對(duì)數(shù)據(jù)庫(kù)的增刪改查、表關(guān)聯(lián)、一些數(shù)據(jù)庫(kù)的高級(jí)查詢,以及vapor服務(wù)器的詳細(xì)使用指南,喜歡的同學(xué)幫忙點(diǎn)個(gè)贊??
私人社區(qū)服務(wù)器
私人社區(qū)IOS app項(xiàng)目
本地?cái)?shù)據(jù)庫(kù)postgresql管理工具
模擬發(fā)送請(qǐng)求工具
老鳥(niǎo)贈(zèng)品