garbagetown

個人の日記です

Play framework

近頃 Play framework という Web アプリケーションフレームワークにハマっておりまして、調べれば調べるほど「本物かもしれない」という想いが強まってきたので、今後、主に備忘の観点から play! に関するエントリをぽつぽつとポストしていきたいと思います。

play! とは

身も蓋もない言い方をすれば JavaRuby on Rails です。概要はフランス訛りの英語がくすぐったい以下の動画をどうぞ。


本当に rails そっくりです。rails 以降のゴミフレームワークに騙され続けて来た経験から相当に疑り深く調査しているのですが、今のところ隙が見当たりません。

概要

とりあえず初回のエントリはオフィシャルトップに記載されている概要を眺めて終わりたいと思います。それぞれの特徴の詳細は後日ひとつひとつポストしていきます。

  • Fix the bug and hit reload!
    • コードを修正したら、単にブラウザをリフレッシュすれば修正内容が直ちに反映されます。コンパイルやデプロイ、アプリケーションサーバの再起動は必要ありません。これは衝撃のカラクリで実現されているのですが、詳細は後日。
  • Stateless model
    • play! は "Share nothing" アーキテクチャを採用しているので容易にスケールします。
  • Efficient template system
    • ビューテンプレートには groovy を使用します。
  • Resolve errors quickly
    • なにかエラーが発生した場合は、問題のあるソースコード行が明確に表示されます。
  • All you need to create a cool web application
    • O/R マッピングや OpenID サポート、メモリキャッシュ等、web アプリケーションに必要な機能はモジュールとして提供されています。ロギングや国際化対応、メール送信機能等も組み込みで用意されています。
  • Pure Java
    • play! コマンド等は一部 python で書かれていますが、ユーザが作成する web アプリケーションに含まれるコードは pure java です。eclipse における開発も高いレベルでサポートされています。
  • Really fast
    • パフォーマンスはまだ検証していないので分かりませんが「速い!」と主張しています。個人的には GAE/J での spinup 速度と datasotre アクセス速度が気になるところです。