Play Frameworkとは
「Play Framework」(日本語サイトはこちら)は,Rub on RailsライクなJavaアプリケーション開発フレームワークです。簡単なコマンドの実行でアプリケーションの雛形を構築し,手軽に開発をスタートさせることができます。構築されるアプリケーションの雛形はモデル,ビュー,コントロールの3つのパーツから構成され,データベースシステムとJavaの永続化機能によるモデル,テンプレートエンジンを利用したビュー,Javaプログラムで記述するコントロールをシームレスに連携させたアプリケーション開発を行うことが可能です。
Play Frameworkの大きな特徴のひとつは,JavaコードやHTMLファイル,テンプレートファイルなどを修正しても,コンパイルやサーバへのデプロイ,サーバの再起動などを一切することなく,ブラウザでWebサイトをリロードするだけで修正内容が反映されるという点です。コードの修正から結果の確認までを連続したサイクルで行う,スムーズな開発を実現することが可能です。開発環境としては,シンプルなテキストエディタでの作業から,高機能な統合開発環境の利用まで,好みの環境を選択することができます。特に統合開発環境ではEclipseとNetBeans,そしてとIntelliJ IDEAとの統合がサポートされており,それぞれの環境で必要な設定ファイルは自動で生成することが可能です。
その他,Play Frameworkの主な特徴としては次のような項目が挙げられています。
- Groovyベースのテンプレートシステムを採用
- HibernateやOpenID,MemcachedなどといったWebアプリケーション技術との統合をサポート
- ソースコードの該当行を含む詳細なエラー表示
- ノンブロッキングIOモデルに基づく非同期通信をサポート
- スケールしやすいステートレスモデルの採用
本稿では,Play Frameworkの基本的な使い方を解説します。
プロジェクトの作成と実行
Play Frameworkはこのページよりダウンロードすることができます。本稿執筆時点での最新版はバージョン1.2.2です。ダウンロードしたファイル(play-1.2.2.zip)を,任意のフォルダに解凍してください。このとき,「C:\Program Files」のような空白を含むフォルダ以下に配置することは推奨されません。本稿では「C:\work\play」フォルダに配置したものとして解説を進めます。
Play Frameworkはコマンドプロンプトで使うことができるフレームワークです。C:\work\playフォルダにある「play.bat」(Windowsの場合。Pythonスクリプト環境では「play」)が実行用のスクリプトファイルになっています。まずはプロジェクトを作りましょう。今回は「myapp」というプロジェクトを作ります。コマンドプロンプトを立ち上げてC:\work\playに移動し,以下のコマンドを実行してください。
> play new myapp
続いてアプリケーション名を聞かれるので,ここでは「My First Application」と入力します。
プロジェクトの作成に成功すると,C:\work\play\myappフォルダが作られ,そこにアプリケーションの雛形が構築されます。myappフォルダ以下には,次のようなフォルダが作成されています。
- app - アプリケーションの本体が格納されているフォルダ
- conf - 設定ファイルが格納されているフォルダ
- lib - ライブラリ格納用のフォルダ
- public - HTMLファイルやJavaScriptファイル,スタイルシートや画像などの静的コンテンツを格納するフォルダ
- test - テスト用のファイルが格納されるフォルダ
- tmp - 一時ファイル作成用のフォルダ
このうち,アプリケーション開発の中心となるのはappフォルダです。appフォルダには「controllers」,「models」,「views」という3つのフォルダがあり,それぞれコントロール,モデル,ビューに関連するプログラムやファイルが格納されています。
新しくプロジェクト作成した場合,その時点でアプリケーションは一応動作する形の雛形になっています。アプリケーションの実行は次のコマンドで行います。
> play run myapp
起動に成功すると,Webブラウザからアクセスできるようになります。デフォルトでは9000番ポートで動作するので,「http://localhost:9000/」にアクセスすると,図2のように表示されます。これはデフォルトで用意されたWelcomeページです。

