Scala+PlayFramework2はじめました
最近Scalaが人気あるみたいですね。Twitterがバックエンドで使ってることも話題になりました。そんなScalaに興味がでてきたので、とっかかりが簡単そうなPlay Framework2と合わせて触ってみます。
ドキュメントが充実してるからわざわざ書くことはあんまりないんだけど、最初は大まかな流れが分かればいいんじゃないかと思います。
インストール
JDK6以降が前提です。あとは特に何も言う事が無いくらい簡単。日本語公式サイトからzipファイルをダウンロードして、展開してパスを通すだけです。
今回はMacのHomebrewにパッケージがあったのでそっちでインストールします。
brew install play
アプリ作成の流れ
大まかな流れはこんな感じ。分かりやすくていい感じ。
- playコマンドでアプリケーションを作成する
- URLとコントローラを対応付ける
- コントローラ(+モデル)を実装する
- 2〜3の繰り返し
playコマンドでアプリケーションを作成する
play new sample
対話式にアプリケーション名とテンプレートの選択をします。テンプレートは下の3つから選びますが、今回はScalaを使いたいので1を選びます。
- Scalaアプリケーション
- Javaアプリケーション
- 空のアプリケーション
この時点で起動できます。やり方はこんな感じ。
play # playコンソール起動
run # playコンソール内でアプリケーション起動
http://localhost:9000
にアクセスするとwelcome画面が表示されます。サーバ起動しっぱなしでもソース変更すれば反映されるので、止めずにこのまま進めます。
URLとコントローラを対応付ける
conf/routesにルートを追加します。このURLにアクセスした時に対応したコントローラのメソッドが実行されます。
とりあえずGETで/helloを追加。Applicationクラスにメソッドを追加してみます。
conf/routes
# Home page
GET / controllers.Application.index
# Hello
GET /hello controllers.Application.hello
コントローラ(+モデル)を実装する
とりあえずモデルは置いといて、Application.scalaに追記します。
Application.scala
package controllers
import play.api._
import play.api.mvc._
object Application extends Controller {
def index = Action {
Ok(views.html.index("Your new application is ready."))
}
// 信頼と実績のアレ
def hello = Action {
Ok("Hello, world!")
}
}
http://localhost:9000/hello
にアクセスすると、「Hello, world!」が表示されます。
とりあえず触ってみるレベルではとても簡単です。J2EEでの作り方とはずいぶん違いますね。XML地獄が無いだけでもすごくありがたい。
ScalaもPlay Framework2もいろいろ作ってみるのはこれからになりますが、なかなか楽しそうです。