連載
» 2012年11月29日 18時00分 公開

Scala+Play 2.0でWebアプリ開発入門(2):Play 2.0のアーキテクチャとディレクトリ構成の基礎知識 (3/3)

[中村修太,クラスメソッド]
前のページへ 1|2|3       

Playアプリのディレクトリ構成

 最後に、「play newコマンド」で生成された、アプリのディレクトリ構成を紹介します。標準的なディレクトリ構造は下記のようになっています。

Playアプリのディレクトリ構造(「Documentation: Anatomy ― Playframework」)から引用

 いくつか重要なディレクトリについて解説します。

「app」ディレクトリ

 アプリのソースファイルを格納するディレクトリです。「controllers」「models」にはScalaのソースファイル、「views」は、Scala templateのファイルを格納することが想定されています。

 また、「assets」ディレクトリには「LESS」「CoffeeScript」など、別言語へコンパイルされるファイルが置かれます。

 なお、これらは任意の名前に変更することも可能です。

「conf」ディレクトリ

 アプリの設定ファイルが置かれます。デフォルトでは、アプリ全体の設定を行う「application.conf」とルートの定義を行う「routes」があります。

 あとは、メッセージ定義用ファイルや「evolutions」(DBスキーマ履歴管理)用のファイルが置かれます。

「public」ディレクトリ

 画像やCSS、JavaScriptやHTMLなど、静的なファイルを格納するためのディレクトリです。

 なお、play newコマンドでアプリを作成した後のデフォルト状態では、「public」ディレクトリは「/assets」というパスに、ひも付けられています。

「lib」ディレクトリ

 使いたいjarライブラリを格納します。通常は前回紹介した「sbt(Simple Build Tool)」を使って依存性管理を行うので、このディレクトリは必須ではありませんが、sbtの管理外にしたいjarライブラリがある場合には、ここへ置いてください。

「test」ディレクトリ

 単体テストや機能テスト用クラスを定義して格納します。このディレクトリ内にあるテスト用クラスは、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」を使います。

specs2

 テストについても、次回以降で紹介します。

Play frameworkの翻訳サイトも参考に

 これらアプリのディレクトリ構造については、Play frameworkの翻訳サイトにある、「Play 2.0 アプリの構造」に詳細な解説がありますので、ぜひ参照してください。

次回は、コントローラやPlayコンソールの使用方法

 今回はScalaでシンプルなPlayアプリを作成して、Play framework 2.0のアーキテクチャとディレクトリ構造に関して説明しました。

 アーキテクチャは、とてもシンプルで、分かりやすい構造になっていると思います。また、ディレクトリ構造も役割がはっきりしていてシンプルですし、変更も簡単ですね。

 次回はPlay frameworkのコントローラやPlayコンソールの使用方法を紹介する予定です。

著者プロフィール

中村修太

中村修太(なかむら しゅうた)

クラスメソッド勤務の新しもの好きプログラマです。昨年、東京から山口県に引っ越し、現在はノマドワーカーとして働いています。好きなJazzを聴きながらプログラミングするのが大好きです。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。