こんにちは、サーバサイドエンジニアの榎本です。
IBM が OSS として開発している Swift の Kitura を触ってみました

Vagrant で Kitura を起動する
Kitura の README の手順通りにインストールします
※ 私は Vagrant を使用しますが、Docker でもインストールできるようです
まずは、git clone しましょう
$ git clone git@github.com:IBM-Swift/Kitura.git
次に、vagrant up で Vagrant を起動します
$ cd Kitura $ vagrant up
ホスト側の /path/to/Kitura と VM 側の /vagrant は共有されているので、VM 側でプロジェクトを作成するときは、/vagrant 配下であればホスト側でもファイルを編集できるので、/vagrant 配下にプロジェクトを作成していきたいと思います
VM 側でプロジェクトを作成するので、vagrant ssh します
$ vagrant ssh
ここから先は VM 上での作業になります
$ cd /vagrant $ mkdir TestApp $ cd TestApp
Swift の新規プロジェクトとして初期化します
$ swift build --init Creating executable package: TestApp Creating Package.swift Creating .gitignore Creating Sources/ Creating Sources/main.swift Creating Tests/
ディレクトリ内はこんな感じになっています
TestApp ├── Package.swift ├── Sources │ └── main.swift └── Tests
Package.swift に Kitura を追記します
- Package.swift
import PackageDescription
let package = Package(
name: "TestApp",
dependencies: [
.Package(url: "https://github.com/IBM-Swift/Kitura.git", majorVersion: 0, minor: 17)
])
Sources/main.swift にはルーティングの設定と、サーバの起動設定を記述します
- Sources/main.swift
import Kitura
let router = Router()
router.get("/") {
request, response, next in
response.send("Hello, World!")
next()
}
Kitura.addHTTPServer(onPort: 8090, with: router)
Kitura.run()
ファイルの編集が終わったら、コンパイルしていきます
$ swift build -Xcc -fblocks ...(略) Linking CHttpParser Compile Swift Module 'KituraSys' (3 sources) Compile Swift Module 'KituraNet' (12 sources) Compile Swift Module 'Kitura' (30 sources) Compile Swift Module 'TestApp' (1 sources) Linking .build/debug/TestApp
それでは、実行してみます
$ .build/debug/TestApp
特に何もレスポンスはありませんが、起動できているようなので、ブラウザで確認してみます

無事、ブラウザでも確認できました!
まとめ
まだまだ機能があまりない Kitura ですが日々めまぐるしくアップデートされているので、これからに期待大です。
Wedding Parkでは一緒に技術のウエディングパークを創っていくエンジニアを募集しています。