「Play Framework」(日本語サイトはこちら)は、Rub on RailsライクなJavaアプリケーション開発フレームワークです。簡単なコマンドの実行でアプリケーションの雛形を構築し、手軽に開発をスタートさせることができます。構築されるアプリケーションの雛形はモデル、ビュー、コントロールの3つのパーツから構成され、データベースシステムとJavaの永続化機能によるモデル、テンプレートエンジンを利用したビュー、Javaプログラムで記述するコントロールをシームレスに連携させたアプリケーション開発を行うことが可能です。
Play Frameworkの大きな特徴のひとつは、JavaコードやHTMLファイル、テンプレートファイルなどを修正しても、コンパイルやサーバへのデプロイ、サーバの再起動などを一切することなく、ブラウザでWebサイトをリロードするだけで修正内容が反映されるという点です。コードの修正から結果の確認までを連続したサイクルで行う、スムーズな開発を実現することが可能です。開発環境としては、シンプルなテキストエディタでの作業から、高機能な統合開発環境の利用まで、好みの環境を選択することができます。特に統合開発環境ではEclipseとNetBeans、そしてとIntelliJ IDEAとの統合がサポートされており、それぞれの環境で必要な設定ファイルは自動で生成することが可能です。
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に移動し、以下のコマンドを実行してください。
続いてアプリケーション名を聞かれるので、ここでは「My First Application」と入力します。
Play Frameworkのコントローラはplay.mvc.Controllerクラスを継承して作成します。Webページへのアクセスがあった場合に呼び出されるのは、コントローラクラスの各メソッドです。どのURLへのアクセスに対してどのメソッドが呼び出されるのかは、confフォルダにある「routes」ファイルへの設定内容によって決まります。デフォルトではroutesの中身は次のようになっています。