こんにちは、サーバサイドエンジニアの榎本です。

IBM が OSS として開発している Swift の Kitura を触ってみました

スクリーンショット 2016-06-10 23.48.47.png

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

特に何もレスポンスはありませんが、起動できているようなので、ブラウザで確認してみます

スクリーンショット 2016-06-11 1.12.40.png

無事、ブラウザでも確認できました!

まとめ

まだまだ機能があまりない Kitura ですが日々めまぐるしくアップデートされているので、これからに期待大です。

Wedding Parkでは一緒に技術のウエディングパークを創っていくエンジニアを募集しています。

IT×ブライダルで業界を変える!プロフェッショナルなWEBエンジニア募集!

Join Us !

ウエディングパークでは、一緒に働く仲間を募集しています!
ご興味ある方は、お気軽にお問合せください(カジュアル面談から可)

採用情報を見る