生産性の高いJava WEBフレームワーク Play Framework

投稿者: | 2014年9月16日

今回はJava WEBフレームワークである「Play Framework」(以降play)の特徴と利点を紹介します。

■Java EEに依存しないシンプルな作り
まず、大きな特徴としてplayはJava EEの機能をほぼ使用せずに実装されていて、NettyというWEBサーバを使用して実行するように設計されています。
Nettyはplay自体に組み込まれていて、playを準備するだけでコマンドから実行できるようになります。
warファイルを作る事も可能なのでTomcatなどで動作させる事も可能です。
Java EEを使用しない事により、凄くシンプルにまとまっているフレームワークです。

■WEB開発に必要な機能がまとまっている
playはMVCで設計されていて、1.X系はJavaを、2.X系はScalaをメインに作られています。
1.X系はView部分がGroovyで、2.X系はScalaで実装されています。
機能としてはモデルのデータベースへの保存、コントローラのアノテーションによる制御、ルーティング設定によるURL生成、アノテーションによるバリデーションやカスタマイズなどWEB開発に必要なものは一通り揃っています。
各機能では実装に別ライブラリ(Hibernateなど)が使われていたりしますが、playではそれらの機能をラッピングしてplayの機能として実装しなおしています。

■学習コストが低く、開発の工数を短縮できる
上記の特徴から分かるように、playは仕組みが非常にシンプルです。
まずあげられる利点としては機能がシンプルでかつフレームワーク内で完結しているので、チュートリアルとドキュメントに目を通すだけで開発が始められる学習コストの低さです。
また、シンプルなので開発や変更に対してかかる工数が非常に短くすみます。
項目を1つ追加するのに数行追加すれば完了するくらいです。

■手間のかかる環境構築は必要無し
今までのWEB開発でよく使用されていたフレームワークやライブラリは、機能がそれぞれに別れているので開発者が組み合わせる必要がありました。
組み合わせる際にはバージョンに気をつけ、大量の設定ファイルを変更する必要がありました。
playはWEB開発に必要なものがほぼ揃っていますので、playさえ使える状態にしてしまえば環境周りで大きく悩まされる事はありません。
テスト方法も充実しているので大変便利です。

playの準備自体も非常に簡単です。
Java SEのインストール、playのダウンロードと解凍で完了です。
更に開発がしやすいようにEclipseなどのIDEを使用する場合も、playコマンドでプロジェクトファイルを生成してインクルードする事ができます。

■まとめ
以上がplayの利点の一部です。
細かいところをあげたらキリがありませんが、とても魅力的なフレームワークだと思います。
今までのJava WEB開発の煩わしい部分がかなり解消できると思います。
必要なライブラリが多すぎて初期学習に時間がかかる、設定ファイルが多すぎて変更に手間がかかる、バージョン不整合で開発以外の工数が増えているなど、思い当たったら一度使用してみる事をお勧めします。

※現在、play 1.X系はJDK8で実行させるとエラーが出るようです。
対処としては「Javaassist」のバージョンを上げればよいようです。
参考サイトのJavaassistのページから最新のjarをダウンロードし、playの「/framework/lib」フォルダ内の「javaassist.jar」を置き換えれば動作します。

■参考サイト
Play Framework
Javaassist

 

システム構築に関してのご依頼、ご質問等がある場合は弊社ホームページ上のお問い合わせフォームもしくは下記連絡先までお問い合わせ下さい。

お問い合わせフォーム

株式会社ヴィンテージ

TEL:093-513-7255