本格派エンジニアの工具箱

第30回 Scalaをネイティブサポートした「Play Framework 2.0」

この記事を読むのに必要な時間:およそ 3 分

2.0で大幅に拡張されたPlay Framework

本連載の第14回第15回Play Framework⁠以下,Play)というJavaアプリケーション開発フレームワークを紹介しました。Playは,Ruby on Railsのように簡単なコマンドだけでMVCスタイルのWebアプリケーションの雛形を構築し,開発をスタートさせることができるフレームワークです。

2012年3月13日,そのPlayの新バージョン「Play framework 2.0」⁠以下,Play 2.0)がリリースされました。この新バージョンでは,核となるアーキテクチャに大幅な変更が加えられました。主なポイントとしては次のような項目が挙げられています。

  • JavaおよびScalaのネイティブサポート
  • 強力なビルドシステムの構築
  • 型安全性へのフォーカス
  • 非同期プログラミングのより強力なサポート
  • データストアとモデルのよりシームレスな統合

特に大きく変わったのはScalaのサポートです。単に言語としてScalaのシンタックスをサポートしているだけではなく,ビルドシステムやテンプレートシステムといったフレームワークのコア部分にまでScalaが浸透しているのです。たとえば,Play 2.0のビルドシステムにはScalaベースのビルドツールであるSBTが統合されています。これによって,従来提供されていたPythonスクリプト群に比べてより柔軟で拡張性の高いビルドシステムが実現しているとのことです。

テンプレートエンジンも,従来のGroovyベースのものから,Scalaベースのものへと切り替えられました。したがって,テンプレートの記述方法もScala形式に変更されています。とはいえ,Groovyのときと同様に基本的な部分され覚えてしまえばScala自身を知らなくても十分に使うことができます。Scalaベースのテンプレートエンジンになったことによって,コンパイル時のコードチェックがより強固に行われるため,型安全性が大幅に高まっているとのことです。

Play 2.0のインストールとアプリケーションの作成

Play 2.0の基本的な導入方法は,従来のPlay 1.xのときと同様です。ただし,Play 2.0ではPlayコンソールと呼ばれるSBTベースのインタラクティブなコンソールによってアプリケーションのライフサイクルを管理できます。このPlayコンソールを使うために,環境変数PATHにPlay 2.0をインストールしたフォルダ(C:\work\play-2.0\など)を追加しておくと作業が楽になります。

また,Play本体とは別にJDK(JDK 6以降)も必要です。Playによるアプリケーションの実行にはJavacコマンドが使われるので,JDKのインストール先にあるbinフォルダを環境変数PATHに追加しておきましょう。このとき,⁠C:\Program Files\Java\」のようなスペースを含むパスは,⁠C:\Progr~1\Java\」のようにスペースを含まない形式で設定しておかないと,アプリケーションが正常に実行できない可能性があります。

アプリケーションの作成は,1.xのときと同様に「play new アプリケーション名」というコマンドで行います。ただし,2.0ではコマンドの実行中に「アプリケーション名(タイトルやメッセージとして表示されるもの)⁠「アプリケーションテンプレートの種類」次の2つの情報を入力する必要があります。アプリケーションテンプレートはJavaとScala,そしてどちらも使わない空のテンプレートの3つから選びます。本稿では,前回の記事で紹介した内容と比較したいので「Java」を選択しました。

図1 play newコマンドによるアプリケーションの作成例

図1 play newコマンドによるアプリケーションの作成例

Playコンソールによる実行

アプリケーションの実行や管理はPlayコンソールによって行います。まず,作成したアプリケーションのフォルダに移動して「play」コマンドでPlayコンソールを立ち上げます。


C:\work\play-2.0\myapp> play
[info] Loading project definition from C:\work\play-2.0\myapp\project
[info] Set current project to My First Application (in build file:/C:/work/play-2.0/myapp/)
........
[My First Application] $ 

このコンソールで「run」コマンドを実行するとアプリケーションが起動します。


[My First Application] $ run

デフォルトではlocalhostの9000番ポートで実行されるので,Webブラウザから「http://localhost:9000」にアクセスしてみましょう。図3.3のようにデフォルトのページが表示されるはずです。

図2 デフォルトのWelcomeページ

図2 デフォルトのWelcomeページ

コンパイルは動的に行われるため,ソースコードに変更を加えてもアプリケーションを起動し直す必要はありません。Webページをリロードするだけで自動的に変更が反映されます。

Webサーバを起動せずにコンパイルだけを行いたい場合には,Playコンソールで「comple」コマンドを実行します


[My First Application] $ compile

著者プロフィール

杉山貴章(すぎやまたかあき)

ONGS Inc.所属のプログラマ兼テクニカルライター。雑誌,書籍,Webメディアで多数の著作をもつ。

著書

コメント

コメントの記入