Swift製のWebフレームワークが早くも乱立していますが、GitHubで1000スター以上獲得している中から、一番deployが手軽そうなVaporに手を出してみます。
Swiftenvと最新版のSwiftをインストール
Xcodeで使うSwiftの設定
Xcode 7.3を使っていれば、メニューのXcode
-> Toolchains
から切り替えられます。
プロジェクト作成
OS X
-> Application
-> Command Line Tool
からHelloVapor
プロジェクトを作成
Import Paths
に$(SRCROOT)/.build/debug
と$(SRCROOT)/.build/release
を設定(コード補完のため)
- プロジェクトのディレクトリで
$ swift build --init
を実行
- 作成されたファイルをXcodeに追加する(SourcesのみAdd to targetsを設定)
HelloVapor
ディレクトリとmain.swift
を削除
- Xcode上で実行
コンソールに上記のメッセージが表示されればOKです。
Vaporを導入
Package.swift
を変更します。
このままswift build
を実行すると、ld: framework not found XCTest for architecture x86_64
で失敗するので、build.sh
というシェルスクリプトを作って対応します。
Server.swift
を追加します。
main.swift
を書き換えます。
再度build.sh
を実行して、http://localhost:8080/welcome
にアクセスすれば、Hello
と表示されるはずです。
自動テスト
Tests/HelloVapor/ServerTests.swift
を作成します。
build.sh
を実行してすぐ止めてswift test
を実行します。(build.shを書き換えた方がよさそうですが割愛します)
これで一応形は整いました。
次からは簡単なWebサービスに必要そうな機能の実装方法を調べていきたいと思います。
ソースコード
https://github.com/tnantoka/swift-a-week/tree/gh-pages/works/HelloVapor
参考