Play framework 2.0 previewリリース

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Play! 2.0 previewリリース

先日、Play frameworkの次のメジャーバージョンアップ版である、Play framework 2.0 preview版がリリースされました。
開発チームは2011年末のβリリースを目指しており、それまではα版の提供になるようです。
公式サイトもできており、ここから確認できます。

主な変更点

さて、2.0にはいくつかの大きな変更点があります。現状わかっているものについてご紹介させて頂きます。
※公式サイトのIntroducing Play 2.0 の内容になってます

Scalaのネイティブサポート

play 1.1からScalaモジュールによる開発ができるようになりましたが、playモジュールでの拡張は限界にきており、
play 2.0ではコア機能としてScalaサポートが組み込まれるようです。

ビルドシステムをSBTに

現在のplayはアプリやテストの実行、依存性管理などはpythonスクリプトを使用していますが、
より大規模なエンタープライズ向けシステムにはカスタマイズ性などの問題により、さらに強力なビルドシステムにすることにしました。
そこで、ScalaではメジャーなビルドツールであるSBT(Simple Build Tools)をplayに統合するようです。
SBTについてはこのあたりを参照してください。

  • https://github.com/harrah/xsbt/wiki
  • http://www.ase.co.jp/2011/07/simple-build-toolscala1.html
    • テンプレートシステムの変更

      テンプレートシステムについては、1.xではGroovyを用いられていますが、これもScalaへの変更となるようです。
      現状テンプレートシステム部分のエラーは実行時にしかわかりませんが、Scalaを使用することにより、コンパイル時のチェックが可能になります。
      また、ルーティングについてもチェックが可能になるようです。

      Akkaサポート

      play1.2ではWebsocketのサポートがされるようになりましたが、今後はより双方向通信が一般的になる、
      そのニーズに答えるためにJavaとScala、両方で使用可能な並行システムライブラリであるAkkaを採用するようです。

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

      DB操作はplay.db.Modelを使用していますが、2.0ではplay以外のORM、DBアクセスライブラリなどでも簡単に使用できるようにするようです。
      play 1.xではHibernateに手を入れて使用していますが、特別なことはせずにHibernateやその他のJPA実装を使用できるようにする予定のようです。

      まとめ

      Scalaとの統合が大きな変更ですね。
      これによってエンタープライズ向けシステムへのplayの採用も増加するんでしょうか。
      Play framework 2.0 previewは公式サイトからダウンロードできるので、ぜひ試してみてください。