Play! Framework クイックスタート
Play! Framework は Java VM 上で動作するフルスタックの軽量 Web フレームワーク。Scala にも対応しており、Java の静的型システムや豊富なライブラリ、高速性を生かしつつ Ruby on Rails を更にシンプルにしたような手軽さといった印象です。
個人的にはプレゼンテーション層には RoR のような変わり身の速いもの、ビジネスロジック層には Java のようなロバストネスなものが適していると考えてるので、Play! が RoR と同等の手軽さなら実行環境の面で RoR よりベターな選択です。Rails もバージョンが進んでかなりモノリシックでヘビーなフレームワークになってしまいましたし。
以下 Play! の特徴など。
- RoR で見たような使い方やファイルの配置。
- 修正後のコンパイルやデプロイ、リスタートが不要。
- Groovy ベースのテンプレートエンジン。ビューの記述が手軽。
- データベースへのアクセスは JPA ベースで SQL の記述が不要。
- Hibernate, OpenID, memcached などに対応したフルスタックなプラグインシステム。
- Stateless で REST。
- 非同期 I/O、WebSockets に対応。
- バンドルに jQuery も入ってる。
- gems のようにモジュールを追加できる。
このようなイマドキの Web 開発に必須の要件を満たすため敢えて Servlet API を捨てたそうです (WAR 化して通常のサーブレットコンテナで動かすことは可能です)。また controllers と言ったパッケージ命名や public なインスタンス変数など Java の"こうあるべき"慣例がいくつか覆されています。ここらへんは賛否あるかと思いますが、Web 周辺のような汎用性の低い部分では行き過ぎた抽象化や再利用性を求めなくても良いかなと思っています。
スタートアップページまでの手順
- Getting Started with Play Framework から最新版 play-1.2.4.zip をダウンロード。
- 例として C:\Program Files に解凍。つまり C:\Program Files\play-1.2.4 が Play! Framework のインストールディレクトリとします。
- 環境変数 PATH に C:\Program Files\play-1.2.4 を追加。
- コマンドプロンプトから play myapp と入力するとカレントディレクトリの myapp/ 以下に Play! の Web アプリが作られます。
- myapp ディレクトリに移動し play run を実行。ブラウザから http://localhost:9000 へアクセスするとスタートアップページが表示されます。