Swift 服務(wù)端
Swfit既可以作為客戶端編寫語言,又可以編寫服務(wù)端語言,對于使用Swift語言開發(fā)iOS應(yīng)用的程序猿們,嘗試一下自己為App寫個后臺,樂趣無窮。我相信Swift語言替換掉Objectvie-c是未來的趨勢,并且Swift端開源框架也比較成熟,也可以讓OC程序猿熟悉Swift語法。本文主要以Vapor框架為例(Perfect框架的性能要優(yōu)于Vapor,但是部署到云端沒有Vapor容易,折騰了半天,最終選擇Vapor)本文主要以介紹以下點
- Vapor的配置
- Vapor本地部署
- 部署代碼到云(heroku)
一、配置Vapor框架
1.檢查當(dāng)前環(huán)境
Vapor目前只支持Swift3.0,Xcode8以上,請自行檢查版本(昨天搞了半天Perfect框架,一直報錯原因就是Perfect只支持8.1以上Xcode和Swift3.0.1
2.配置環(huán)境
在命令行中輸入命令,檢測是否可以運行
curl -sL check.vapor.sh | bash
沒有返回任何消息,就是好消息,下一步下載Vapor toolbox(toolbox可以幫助用戶簡化一些操作)
curl -sL toolbox.vapor.sh | bash

安裝toolbox
curl -sL toolbox.vapor.sh | bash
二、hello world 本地部署
終端輸入
vapor new Hello
接下來,進(jìn)入Hello工程目錄
cd Hello
進(jìn)入目錄你發(fā)現(xiàn)沒有可運行的xcode工程有點懵逼是不是,繼續(xù)輸入
vapor xcode -y
等待時間略長,去抽兩根煙吧。
終于完成了,左上角運行選擇App->My Mac
找到main.swift文件,寫入如下代碼
import Vapor
let drop = Droplet()
drop.get("hello") { request in
return "Hello, world!"
}
drop.resource("posts", PostController())
drop.run()
運行工程
在瀏覽器中訪問
http://localhost:8080/hello
或者
0.0.0.0:8080/hello
或者
http://127.0.0.1:8080/hello
注意,一定要有端口號如8080,且get的hello區(qū)分大小寫,仔細(xì)看清你的get方法中的參數(shù)哦
hello, world 對于第一次寫服務(wù)端的人是否有點小激動呢。我們通過get方法獲取到數(shù)據(jù),其他請求方式同理,只要你的代碼沒有問題,服務(wù)端就會給你返回你請求的數(shù)據(jù)。自此,本地部署完成。
三、部署云端
作為一個程序員,你一定不滿足于服務(wù)端代碼只在自己服務(wù)器或局域網(wǎng)內(nèi)運行,一般服務(wù)器也是一筆不小的費用。如果你和我一樣只是為了學(xué)習(xí),這筆費用有一些大財小用。but,國外一家網(wǎng)站提供免費的代碼部署服務(wù),那就是heroku,接下來我們要將我們的hello工程部署到heroku。
注冊heroku
進(jìn)入
heroku注冊,注冊完并不需要你去創(chuàng)建應(yīng)用,因為創(chuàng)建應(yīng)用我們可以直接在終端完成。
登錄并提交應(yīng)用
繼續(xù)我們的終端之旅
heroku login
之后按照提示輸入賬戶名和密碼
cd <Your Project>
進(jìn)入你工程目錄
git init
對于使用git的程序猿們,這行代碼很熟悉吧
git add .
git commit -am "Description"
提交
到了這里 vapor toolbx登場了
vapor heroku init
第一個輸入y,自定義一個應(yīng)用名,比如hello
第二個很重要,問你是否要自定義buildpack,一定選yes,一定選yes,一定選yes
輸入buildpack的地址
https://github.com/kylef/heroku-buildpack-swift.git
第三個y/n,是否立即上傳到heroku,沒問題的話,選擇y.
如果buildpack寫錯了,也可以到heroku控制臺中選擇對應(yīng)的app,選擇setting,找到其中的buildpack,去修改
一切順利的話,打開
https://yourappname.herokuapp.com/hello 試試吧