最後に、「play newコマンド」で生成された、アプリのディレクトリ構成を紹介します。標準的なディレクトリ構造は下記のようになっています。
いくつか重要なディレクトリについて解説します。
アプリのソースファイルを格納するディレクトリです。「controllers」「models」にはScalaのソースファイル、「views」は、Scala templateのファイルを格納することが想定されています。
また、「assets」ディレクトリには「LESS」「CoffeeScript」など、別言語へコンパイルされるファイルが置かれます。
なお、これらは任意の名前に変更することも可能です。
アプリの設定ファイルが置かれます。デフォルトでは、アプリ全体の設定を行う「application.conf」とルートの定義を行う「routes」があります。
あとは、メッセージ定義用ファイルや「evolutions」(DBスキーマ履歴管理)用のファイルが置かれます。
画像やCSS、JavaScriptやHTMLなど、静的なファイルを格納するためのディレクトリです。
なお、play newコマンドでアプリを作成した後のデフォルト状態では、「public」ディレクトリは「/assets」というパスに、ひも付けられています。
使いたいjarライブラリを格納します。通常は前回紹介した「sbt(Simple Build Tool)」を使って依存性管理を行うので、このディレクトリは必須ではありませんが、sbtの管理外にしたいjarライブラリがある場合には、ここへ置いてください。
単体テストや機能テスト用クラスを定義して格納します。このディレクトリ内にあるテスト用クラスは、Playコンソールから「test」コマンドを使って簡単に実行できます(※今回はテストを作成していないので実行されません)。
[gyro] $ test [info] No tests to run for test:test [success] Total time: 1 s, completed 2012/11/17 15:58:13
Play 2.0ではデフォルトのテストフレームワークに「specs2」を使います。
テストについても、次回以降で紹介します。
これらアプリのディレクトリ構造については、Play frameworkの翻訳サイトにある、「Play 2.0 アプリの構造」に詳細な解説がありますので、ぜひ参照してください。
今回はScalaでシンプルなPlayアプリを作成して、Play framework 2.0のアーキテクチャとディレクトリ構造に関して説明しました。
アーキテクチャは、とてもシンプルで、分かりやすい構造になっていると思います。また、ディレクトリ構造も役割がはっきりしていてシンプルですし、変更も簡単ですね。
次回はPlay frameworkのコントローラやPlayコンソールの使用方法を紹介する予定です。
中村修太(なかむら しゅうた)
クラスメソッド勤務の新しもの好きプログラマです。昨年、東京から山口県に引っ越し、現在はノマドワーカーとして働いています。好きなJazzを聴きながらプログラミングするのが大好きです。
Copyright © ITmedia, Inc. All Rights Reserved.