連載
» 2012年10月26日 18時00分 公開

Play framework 2.0の概要/5つの特徴とScalaで作るための環境構築Scala+Play 2.0でWebアプリ開発入門(1)(2/3 ページ)

[中村修太,クラスメソッド]

Play 2.0の5つの特徴

 Play 2.0の特徴について簡単に紹介します。Play 1.xからの変更点は多数あるのですが、主に下記のような特徴があります。それぞれを簡単に解説しましょう。

【1】非同期プログラミングの構築

 最近のWebアプリケーションでは、リアルタイムデータの並行処理を統合するようになってきており、フレームワークには非同期HTTPプログラミングモデルをサポートすることが求められています。

 Play 2.0は並列度が高いシステムを実現するため、Actorベースモデルで、JavaとScala両方から使用可能な「Akka」をサポートしています。

【2】型安全-Scalaを用いたテンプレートエンジン

 静的言語を用いると、コンパイラがコードをチェックするので、実行前にエラーを発見できます。これは規模が大きいプロジェクトでも非常に有用だと思います。

 Play 2.0では、コードのほとんどをコンパイル時にチェックさせる考え方を推し進めています。そのため、ViewでScalaベースのテンプレートエンジンが採用されました(Play 1.xでは、テンプレートシステムは式言語として「Groovy」を使用)。

 詳細は、記事「Java開発者がScalaでPlay frameworkのビューを作るには」を参照してください。こちらの記事ではJavaベースで解説しています。併せて参照してみてください。

【3】Scalaのネイティブサポート

 Play 1.xのときから、Play用モジュールを用いればScalaを使用して開発が可能でした。しかし、モジュールとしてScalaのサポートを行う形式では完全な統合が難しかったようです。そのため、Scalaのサポートをモジュール形式からPlay 2.0のコアへ移行してネイティブサポートするようにAPIも再設計されました。

【4】ビルドシステムの変更(sbtの使用)

 Play 1.xでは、ビルドやデプロイなどのタスクすべてをPythonによるスクリプトで実現していましたが、これらのスクリプトは、完全な機能を持っているビルドシステムでなく、カスタマイズも容易ではありませんでした。

 このため、Play独自の規約をサポートでき、JavaとScalaのプロジェクトをビルドできるだけの柔軟性を持ったツール、「sbt(Simple Build Tool)」を統合しました。Play用プロジェクトはsbtプロジェクトになるので、カスタマイズも可能ですし、いままでどおりnewやrunなどのPlay用コマンドも使えます(参考:始めるsbt)。

【5】データストアとモデルの統合

 Play 2.0では特定のデータストア用ドライバやORM、データベースアクセス用ライブラリなど、特にフレームワークに統合することなく、簡単に利用できるようにしています。

 ただ、フルスタックフレームワークという性質を保ち、特殊な要件を必要としないユーザーが一般的なRDBへアクセスするために、Ebean/JPA/AnormといったデフォルトのRDB用ツールをバンドルしています。

公式ドキュメントも参照しよう

 以上がPlay 1.xからの主な変更点です。これら変更点についての詳細は公式ドキュメントの「Play 2.0 の紹介」にあるので、ご確認ください。

Play 2.0を使うための準備

 Play 2.0をインストールしてみましょう。

JDKのインストール

 Play 2.0の実行には、JDK 6以降が必要です。まだインストールされていない方は、記事「EclipseでScalaプログラミングを始めるための基礎知識」を参考にしてJDKをインストールしてください。

 インストールが完了して環境変数PATHへ追加したら、コンソールでjavaおよびjavacコマンドを確認してみましょう。

% java -version                                                                            
java version "1.6.0_35"
・・・
% javac -version                                                                          
javac 1.6.0_5

Play 2.0をインストール

 次にPlay 2.0をインストールします。2012年9月30日記事執筆時での最新版、2.0.3をダウンロードサイトからダウンロードします。ダウンロードしたzipファイルを解凍し、こちらも環境変数PATHへ追加しておきましょう。

補足 MacでPlay 2.0のインストールは「Homebrew」で

Macを使用している場合、上記の方法でもインストールできますが、Homebrew(Mac用のパッケージ管理システム)を使用すると、もっと簡単にPlay 2.0をインストールできます。

公式ページにある通りにHomebrewをインストールしたら、下記コマンドを入力してPlay 2.0をインストールしましょう。

% brew update
% brew install play

インストールの確認

 環境変数PATHに追加したら、正しくインストールされているか確認してみましょう。コンソールで「play help」と入力してみてください。下記のような結果になればインストールは成功です。

%play help                                                                                 
       _            _ 
 _ __ | | __ _ _  _| |
| '_ \| |/ _' | || |_|
|  __/|_|\____|\__ (_)
|_|            |__/ 
             
play! 2.0.3, http://www.playframework.org
Welcome to Play 2.0!
These commands are available:
-----------------------------
license            Display licensing informations.
new [directory]    Create a new Play application in the specified directory.
You can also browse the complete documentation at http://www.playframework.org.

 インストールの詳細は「Play 2.0 のインストール」を参照してみてください。

IDEのセットアップ

 Play 2.0ではテキストエディタがあれば開発は可能ですが、本連載ではEclipseを使用してPlay 2.0の開発を行っていきます。そのための準備として、Eclipse 3.7と「Scala IDE for Eclipse」をインストールしましょう。

 これらのインストールについては、記事「EclipseでScalaプログラミングを始めるための基礎知識」を参考にしてみてください。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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