Play frameworkを触ってみましたよ。
Ruby on Railsのお手軽さをJavaで!っていう感じのWebアプリフレームワークです。
Java版は直接使ってはいませんが、Scalaとの相性が抜群な印象です。
日本語のドキュメントもありますよ。
今回はPlay frameworkインストールからHello Worldまでいきます。
JavaやScalaはインストールしてあるものとします。
Ruby on Railsのお手軽さをJavaで!っていう感じのWebアプリフレームワークです。
Java版は直接使ってはいませんが、Scalaとの相性が抜群な印象です。
日本語のドキュメントもありますよ。
今回はPlay frameworkインストールからHello Worldまでいきます。
- Play framework: 1.1
- Scala module: scala-0.8
- Maven module: maven-head
JavaやScalaはインストールしてあるものとします。
インストール
Downloadリンクからダウンロードします。適当な場所に展開します。
$ unzip /path/to/play-1.1.zip
以下、展開したパスを
${PLAY_HOME}
を表記します。モジュールのインストール
Play! のサイトで公開されているモジュールのインストールは、play
コマンドで行います。ここでは、ScalaモジュールとMavenモジュールをインストールしましょう。
$ ${PLAY_HOME}/play install scala-0.8
$ ${PLAY_HOME}/play install maven-head
Hello World!
プロジェクト作成
play
コマンドでプロジェクトを作成します。$ ${PLAY_HOME}/play new helloworld --with scala
オプション
--with scala
を付けることで、Scalaモジュールを読み込んだ状態でプロジェクトが作成されます。とりあえず実行してみる
さっそくですが、実行して画面を見てみましょう。デフォルトでは8000番と9000番のポートを使うことになっているので、ここは空けておいてください。
$ ${PLAY_HOME}/play run helloworld
~ _ _
~ _ __ | | __ _ _ _| |
~ | '_ \| |/ _' | || |_|
~ | __/|_|\____|\__ (_)
~ |_| |__/
~
~ play! 1.1, http://www.playframework.org
~
~ Ctrl+C to stop
~
Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8
Listening for transport dt_socket at address: 8000
21:49:45,400 INFO ~ Starting /Users/ueshin/workspace/helloworld
21:49:45,402 INFO ~ Module scala is available (/usr/local/play-1.1/modules/scala-0.8)
21:49:45,959 WARN ~ You're running Play! in DEV mode
21:49:46,033 INFO ~ Listening for HTTP on port 9000 (Waiting a first request to start) ...
とかでたら、http://localhost:9000 にアクセスすると
Your new application is ready!
とかでます。
Hello World!
プロジェクト内の app/controllers.scala ファイルを開いてください。package controllers
import play._
import play.mvc._
object Application extends Controller {
def index = "Hello World!"
}
のように編集(8行目のメソッド本体を
Template
から "Hello World!"
に修正)して画面をリロードすると、先程の画面の代わりにHello World!
と表示されます。
Play! では、サーバーの再起動をしなくても、修正したものがすぐに反映されます。
一般的にJavaでのWebアプリ開発では修正クラスをリロードするためのサーブレットコンテナ再起動がネックになってサクサク開発ができない問題がありましたが、Play! ではサクサクできますね!
※ Seasar2やSlim3をはじめ、最近はホットにリロードできるものも多いです。
サーバーを止めるには、
Ctrl-C
です。Ctrl-C