BPStudy#60でPlay!Frameworkの話を聞いてきたよ
イベントページ
http://connpass.com/event/887/
Javaなのに!Javaっぽくない!Railsライクなフレームワークでお馴染みのPlay!FrameworkについてBPStudy#60で聞いて来ました。*1
PlayFrameworkってなに?
- Java/Scala用WEBフレームワーク
PlayFrameworkのver.1とver.2
Playの特徴
- 高生産性かつ楽しい
- WEBに完全フォーカス
- ステートレス
- HttpSessionはない
- SessionはただのCookie
- クラウドコンピューティング時代、WEBはステートレスであるべきじゃない?
- キャパプランニング、サーバ調達、デプロイ、と言う時代ではない
- まずデプロイ、状況に応じてスケールアウトする
- ステートレスなのでロードバランサレベルでスケールアウトする
- 広範囲な型安全
- ステートレス
- ノンブロッキング
- これからはリアルタイムWEBの時代
- 完全な非同期HTTPプログラミングモデルをサポートすることが求められる
- commetとかWebSocketとかコネクションはロングポーリング的になってきた
- Nettyによる非同期IOの実現
- Akkaによる継続プログラミングモデルの実現
- 場合によってはNodeより早いかも
- NettyはJBossのネットワークフレームワーク
- Java NIOのラッパー
- 非同期イベント駆動型
- PlayがServletAPIを使ってない理由の一つ
- PlayはNettyのラッパーといえるくらい綺麗にラップしてる
- AkkaとはScalaで書かれたActorベースの非同期処理フレームワーク
- ActionInvoker
- FWがルータからコントローラを呼ぶ部分で
- PromiseInvoker
- FW利用者が明示的にPromiseを利用する時に
- WebSocketAgent
- WebSocket利用時
- Nettyで意識せずに非同期IO
- Akkaのヘルパーで気軽に非同期処理を扱える
- ActionInvoker
- 高いテスタビリティ
- プラグイン機構
- デプロイの選択肢
利用事例など
-
- 外国では利用事例も多い、スタートアップなんかは特に
- 国内は情報が少ない
- 金融機関で使われてるという噂(未確認情報)