Play framework + WebSocket 勉強会に参加してきました
3/6にパソナテックさんで開催された「Play framework + WebSocket 勉強会」に参加してきました。
【エンジニアカフェEvent】
PlayBay - PlayFramework+WebSocket勉強会
http://www.pasonatech.co.jp/event/index.jsp?no=3405&key=caf
【当日のまとめ】
https://yukar.in/note/ckFoJe
PlayFrameworkの概要
- 1.2.4はほぼ完成形。プロダクション利用OK。
- 2.0はRC。プロダクションで利用するのはまだ早い。
- でもScalaで書きたいなら2.0
- Jenkins本に寄稿しているので買ってねw
概要の話なのでここはすんなり。1.2.4を実際の案件で使っているというのは何だか心強い(?)ですね。
PlayFramework1.2.4におけるWebSocket
- Play!にはチャットのサンプルが付いている
- WebSocket未対応ブラウザ向けにweb-socket-jsというライブラリがあるらしい
- 1.2.4ではRFC6455仕様が動作しないので、パッチ適用が必要
- Apache mod_proxyを挟むと問題が発生する可能性がある (詳細不明)
- F.javaという変態クラスがある
- WebSocketはChromeでデバッグするのがオススメ
- WebSocketはチャットを作るための技術ではない!!
いやーご本人が一番キツイと思いますが、Play!を触ったことが無い人もフォーカスしてWebSocketの説明を口でするのは無理があるw
自分はソース見ながら聞いていたので何となく理解できたけど、初見の方にはところどころイミフだったかもしれません。
Play!framework 2.0一巡り
- 2.0開発の理由
- JVM言語への正式対応
- ビルドシステムの再構築 (SBTを採用)
- IDEとしてEclipseが一応使えるけど、Scalaなのでvi等でおk
- SBT採用によってビルド速度が向上
- Akka採用
- 認証等、Controllerで共通して利用する仕組みが整っていない
- Controller、JSON周りの使い勝手はかなり向上している
何だか知らないキーワードがいっぱい出てきましたw
このセッションを聞いて、とりあえず2.0触るのはまだ先だなと思いました。個人的には、Play!はフルスタックなところが魅力なんですが、その辺りがまだまだ用意されていないようです。
でもScala書きたくなったら触るかも。
でもScala書きたくなったら触るかも。
Play2.0 + pjax
- pjax = "Making AJAX Applications Crawlable"
- HTML5 History API pushState を利用した技術
- pjax自体はjQuery plugin
- githubで利用されているらしい
pjaxという名前を今回初めて聞きました。
pjaxとは、Ajaxを利用したWebアプリなりサイトを開発する際に発生する
- ブラウザバックへの対応
- Webクローラへの対応
- パーマネントリンク
といった問題を解決するための1つの手法のようです。
仕組みは、
ってことで合ってますかね。
正直この方式がうまく当てはまるケースがあるのか、ピンと来ませんでした。URLリクエストの時のサーバー側のハンドリングが難しい気がするなぁ。
それにしても、講師をしてくれた中村学氏の説明がとてもわかりやすかったです。
所感
見事にWebSocketで何か作りたくなりましたw
ただ、サンプルが大体チャットになってしまうように、なかなかネタが思いつかないですね。
パッと思いつくのはコラボ編集、リアルタイムモニタリング、ソーシャル、ゲーム辺りですかね。
あと、MacBook Airが欲しくなりました。Proは重過ぎる...。
最後に、講師の皆様や会場関係者の皆様、本当にお疲れ様でした!