KituraというWebフレームワークでSwiftを動かしてみようと思います。
このフレームワークはIBMが作っているようで、同社のクラウドサービスであるBluemixというPaasの上で動かす事ができます。
サンプルを動かしてみる
下コマンドで関連ソフトをインストールします。
brew install http-parser curl hiredis
次にSwiftをインストールします。
下ページの"Swiftのインストール"を参考にインストールします。
Swift Package Managerを使ってみる - しめ鯖日記
その後下コマンドを打てばポート8090でサンプルアプリケーションを立ち上げてくれます。
git clone -b develop https://github.com/IBM-Swift/Kitura cd Kitura make run
make runでerror: invalid usage: unknown argument: -X
というエラーに遭遇する事がありますが、Kitura-CI/build/Makefile
の39行目のswift build $(CC_FLAGS) $(SWIFTC_FLAGS) $(LINKER_FLAGS)
をswift build
に変更する事でとりあえず動かす事はできます。
自分のKituraプロジェクトを作ってみる
下コマンドで初期プロジェクトを作成します。
mkdir MyApp cd MyApp/ swift build --init
Package.swiftを以下のように書き換えます。
import PackageDescription let package = Package( name: "myFirstProject", dependencies: [ .Package(url: "https://github.com/IBM-Swift/Kitura-router.git", versions: Version(0,3,0)..<Version(0,4,0)), ])
Sources/main.swiftを以下のように修正します。
import KituraRouter import KituraNet import KituraSys let router = Router() router.get("/") { request, response, next in response.status(HttpStatusCode.OK).send("Hello, World!") next() } let server = HttpServer.listen(8090, delegate: router) Server.run()
ここまで終わったらswift buildコマンドでビルドをします。
swift build
ビルドが終わったら以下コマンドでサーバーを立ち上げる事ができます。
.build/debug/myFirstProject
今回は試していませんが、他にもGRMustacheというテンプレートエンジンが利用できるようです。
他のSwift用Webフレームワーク
参考URL
IBM製 Swift Webアプリケーションフレームワーク&HTTPサーバ Kitura最速マスター - Qiita Swift で書ける Web フレームワーク「Kitura」を触ってみた | Developers.IO