Java/Scalaを利用するWebアプリケーションフレームワーク「Play 2.1」リリース

 米Typesafeは2月6日、JavaとScalaに対応したWebアプリケーション開発フレームワーク「Play」の最新版「Play 2.1」をリリースした。Scala 2.10の採用により処理速度が向上し、またPlayベースのアプリケーション開発もより容易になるという。Play自体のモジュール化も進められている。

 PlayはJava向けののWeb開発フレームワークとしてスタートしたプロジェクトで、軽量、ステートレス、Webと高い親和性のあるアーキテクチャといった特徴を持つ。ScalaおよびJavaをベースとするアプリケーションフレームワーク「Akka」を使って実装されており、、CPUやメモリなどのリソースの消費を最小限に抑え、高い拡張性をもつアプリケーションを構築できるという。当初はJavaベースのフレームワークだったが、バージョン2.0からはScalaのネイティブサポートも含まれている。LinkedIn、The Guardianなどでも採用されている。プロジェクトは米Typesafeと仏Zenexityの支援を受けており、ライセンスはApache License 2。

 Play 2.1は、2012年3月に公開されたPlay 2.0以来のアップデートとなる。大きな変更点としては、1月4日にリリースされたScala 2.10のサポートが挙げられている。Scala 2.10では非同期コード開発のための「Future」や「Promise」といった機能などが追加されており、Playでもこれらの機能を活用できるようになる。ランタイムAPIもすべて2.10に移行しており、Futureを活用することでよりコードがシンプルになっているという。

 モジュラー性も強化し、Play自体の分割もより進められている。必要に応じて最小限のモジュールを選択できるようになっており、モジュール間の依存性も最小限に抑えられているという。リクエストURLに対するルーティングの分割が可能になるなど、アプリケーション側のモジュール化もより容易になっている。

 このほか、Scala JSON APIの導入、Filter APIによるCSRF(クロスサイト・リクエストフォージェリ)からの保護、Java API向けスレッドモデルの改善、RequireJSのサポートなども特徴となる。

 Play 2.1はプロジェクトのWebサイトよりダウンロードできる。

Play Framework
http://www.playframework.com/