swift-vapor 服務(wù)端開(kāi)發(fā)教程-開(kāi)源項(xiàng)目私人社區(qū)APP前后臺(tái)

如果你想用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一次成功。

最流行swift server 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è)源代碼在文章底部

圖片發(fā)自簡(jiǎn)書(shū)App
圖片發(fā)自簡(jiǎn)書(shū)App

開(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工程的名稱可以隨便取,成功之后如下圖

vapor02.png

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上

圖片發(fā)自簡(jiǎn)書(shū)App

在瀏覽器輸入并訪問(wèn) http://localhost:8080 可以看到一個(gè)網(wǎng)頁(yè)
圖片發(fā)自簡(jiǎn)書(shū)App

在瀏覽器輸入 http://localhost:8080/json可以看到一段json

E973FB54-FCD1-485B-B38F-DDF47F80DA97.png

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 
75F1B609-3D39-45CC-AA61-A2809051D314.png

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ù)器接口截圖

屏幕快照 2017-04-21 下午12.09.57.png

如果你是大神,并且已經(jīng)精通Vapor服務(wù)器,這里我也有贈(zèng)品相送,畢竟學(xué)無(wú)止境

讓大家滿載而歸,老鳥(niǎo)贈(zèng)品??,點(diǎn)我

B4CBAB3B-29F4-49B3-AE5D-DEB111282E5D.png

下一篇:我將介紹我項(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)品

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,383評(píng)論 4 61
  • 前一陣的一天同學(xué)聚會(huì), 由于飯菜實(shí)在太難吃,我便趁大家不注意提前跑出來(lái)透透風(fēng),散散心。 在金色的余暉下,路兩旁的路...
    四二一三的心跳閱讀 2,400評(píng)論 18 57
  • 昨天,寫(xiě)的是關(guān)于男孩子們的故事,在剛剛發(fā)出去不久,就有女同學(xué)說(shuō)“老師明天是女生篇,不能偏心。”親愛(ài)的孩子們...
    娜木翰閱讀 681評(píng)論 2 3
  • 人的一生會(huì)遇見(jiàn)很人多,很多人里面有不少人會(huì)熟知,熟知的人里面一部分會(huì)變成朋友。 朋友中又有好幾個(gè)階段,或者說(shuō)是階段...
    手指上的心閱讀 1,290評(píng)論 0 0

友情鏈接更多精彩內(nèi)容