パソナビルは天井も広くて入り口に野菜が生えてたり、なかなかすごかった。
参加者も40人ぐらいいてPlayとScalaの勢いを感じた。
Play!の今
@ikeike443さんの発表。今は過渡期。1.X と 2.Xの狭間にいる。
JavaからScalaへ移行している段階。
1系はJavaで書かれたJavaのフレームワーク。Scalaはプラグインでサポート。
2.0はScalaで書かれたScalaとJavaのフレームワーク。ScalaもJavaもサポートする。
1.2.4は完成形
Javaでクイックに開発するのに向いてる。
必要なものはほぼある状態なのでプロダクションで使えるレベル。
2.0はまだRC。
Scala on Railsになるはず。プラグインはまだこれから。
プロダクションで使うのはおすすめできない。
ただ、Scalaだったら2.0を追いかけるべき!
パッチを送るべし。翻訳も手伝ってね☆
Play1.xの特徴
シェアード・ナッシング・アーキテクチャ。非同期IOをサポートしている。
SASSやCoffieScript、MongoDB、Heroku等の最新の技術にも対応しているのが良いところ。
何より生産性が高い。再起動無しでがんがんいける仕組みになっている。
フレームワーク自体が自然にステートレスになる仕組みになっている。
例えばHttpSessionがない。sessionはCookieに書いているだけ。
セッション管理はMemcachedを使うのがおすすめ。
ステートレスなのでスケールアウトが容易。自然にスケールアウトできるアプリを作っていけるのが素晴らし。
Nettyを使っている。非同期I/Oをサポート。
node.jsよりI/Oが速い、がレンダーが遅い(groovyが遅いから?)。
warもサポートしてるよ。
PlayFramework1.2.4における web socket
@kara_dさんWebSocketをMVCに載せる意味
アプリとシームレスに統合できる。
設計が容易。
認証系、データ管理系の実装が楽。
ただ、負荷を考えるとサーバはわけるほうがいいかも。
playのWebSocketはplayが動いているポートなのでApacheのmod_proxyを使用している場合は注意が必要。
WebSocketはチャットを作るためのものじゃない。
その考えから外れてつくると面白いアプリができるかも。
Play!Framework2.0 一巡り
@MasahitoさんTypesafe StackがPlayFrameworkを採用した。
Scalaのソフトウェアプラットフォームに仲間入りしたということ。
Play2.0はWeb開発環境の変化に対応するために作られた。
JVM言語への対応(主にScala向け)とビルドシステムの変更(SBTを使う)。 1系ではPythonを使っていた。
JavaからScalaに移行、1系と同様サーバー再起動不要で開発が可能。
IDEも使うことが可能(Intelli Jとeclipseは確認済み)で、Paas環境での運用も可能となっている。
ちなみに、開発者はTextMateで開発してるとか。
Nettyがベースなのは変わらず。WebSocketの機能は基本Nettyを使っている。
Controllerは普通のControllerとWebSocket用の2種類。
play2.0のJobはAkkaベースになった。AkkaはScalaのActorを高機能かつ高速にしたもの。
SBTはSimpleBuildTools。Mavenのようなもの。
ビルドシステムをSBTに移行したことでビルド速度がかなり向上した。
Play1.xはWebMVCが密結合。2.0では粗結合。粗結合っていいよねー
Play2.0 scalaはPlay1.x+Scalaを発展させたもの。
2012/03/06現在 RC3、そろそろでるか?
Play!2.0でできない事
管理画面(CRUDモジュール)はない。認証認可(Secureモジュール)は外部モジュールで対応するしかない。
warファイルの出力が現在できない。(今後対応予定)
jaca doc/ scala docの出力機能はない。
DB構造の自動変更も外部モジュールでしかできない。
Play1.xはまだまだメンテナンスされる。全然現役。
ただ2.0の動向には注目しといたほうがいいよー。
Play2.0 + pjax
@gakuzzzzさんの発表Ajax
リンクできない
履歴が残らない
などなど
pjaxを使えば大丈夫!
簡単にいうとGitHubのサイトみたいなやつ。
一件Ajaxみたいなんだけど、しっかりとURLがあって、ブラウザの戻るが使えたりする。
pjaxはGitHubの中の人が作ったという噂。
スライドはこちら
http://gakuzzzz.github.com/play2.0-pjax-demo/
pjaxはAjaxの弱点を克服した素晴らしい技術だなー。
まとめ
PlayとScalaは確実にきてる。pjaxのデモとかみてると、Scalaって本当に強力だなと思うし、Springとかのでかいフレームワークじゃないのをみんな求めてると思う中、Playっていいよなーって思った次第です。Play!2.0は注目だなー
Play Framework Cookbook Alexander Reelsen Packt Publishing 2011-07-31 売り上げランキング : 20443 Amazonで詳しく見る |