Scalaの軽量フレームワークScalatra
ScalatraはSinatraに影響を受けたScalaの軽量Webフレームワークです。
簡単に触ってみたので、導入手順をメモしておきます。
giter8のインストール
ScalatraはScalaのスキャフォールディングツールgiter8
を使って、テンプレートからプロジェクトを生成します。
インストールはhomebrewを使って行います。
$ brew update && brew install giter8
プロジェクトの雛形生成
先ほどインストールしたgiter8
を使って、Scalatraのプロジェクトを作成します。
$ g8 scalatra/scalatra-sbt
生成されたプロジェクトのソースコードを確認してみます。
アプリケーションのメインとなるソースコードはsrc/main/scala/com/example/app/MyScalatraServlet.scala
になります。
MyScalatraServlet.scala
の部分は、g8で雛形を作成する際に入力したファイル名になっています。
package com.example.app import org.scalatra._ class MyScalatraServlet extends SimplescalatraStack { get("/") { <html> <body> <h1>Hello, world!</h1> Say <a href="hello-scalate">hello to Scalate</a>. </body> </html> } }
このソースコードは、サーバーのルート(/)にアクセスした際に記述されたHTMLをレスポンスとして返す処理が書いてあります。
HTMLページを表示してみる
以下のコマンドでサーバーを起動します。
$ sbt > ~jetty:start
上記コマンドの~
を付けることでソースコードの変更時にサーバーを自動で再起動されるようになります。
毎回起動し直すのは、面倒なので~
を付けることをお勧めします。
http://localhost:8080にアクセスして、HTMLページが表示されれば導入完了です。
さいごに
Scalatraは非常にシンプルに使うことができるので、簡単なREST API などを実装するのに向いているのかなと思います。