35
Play! Framework Update 2012/07/14 3 Playframework 勉強会 池田尚史 @ikeike443

Play ja 3_update

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Play ja 3_update

Play! Framework Update

2012/07/14 第 3 回 Playframework 勉強会

池田尚史 @ikeike443

Page 2: Play ja 3_update

自己紹介

• 池田尚史(いけだたかふみ)

• 株式会社シャノン Product Manager

• @ikeike443

• Play! Framework コミッター

• 日本 Playframework ユーザー会

• 『 Jenkins 』オライリージャパン 寄稿

• 勉強会、翻訳等々やってます

Page 3: Play ja 3_update

Agenda

• Play って何?(おさらい)

• 数字で見る Playframework

• 1.x の現状

• 2.x の現状

Page 4: Play ja 3_update

Playframework って何?

• Java/Scala 用 Web フレームワーク

• フランスの Zenexity 社が開発

• 現在は Typesafe 社の Typesafe Stack の一部でもある

• Rails ライク● フルスタック● CoC

Page 5: Play ja 3_update

Playframework って何?

• Web 開発者の Web 開発者による Web 開発者のための Web フレームワーク

• 決して JEE のフレームワークではない

• JEE の規約に則っていない

• Servlet を使っていない

• XML 不要

Page 6: Play ja 3_update

コアメンバー

Page 7: Play ja 3_update
Page 8: Play ja 3_update
Page 9: Play ja 3_update

Playframework の歴史

Page 10: Play ja 3_update

2007 年頃 (ver0.x)

• 社内フレームワークの時代• Servlet / JSP

Page 11: Play ja 3_update

2009 年末〜 2010 年頃 (ver1.0)

• OSS 化

• Groovy テンプレート , Python シェル

• この頃から既に非同期 I/O を実装

Page 12: Play ja 3_update

2011 年頃 (ver1.2)

• ネットワーク周りを Mina から Netty へ

• Websocket サポート

• Scala サポート

Page 13: Play ja 3_update

現在 (ver2.0.2)

• 全体を Scala で書き直し

• Netty+Akka で非同期 I/O の徹底

• 基本的な思想は 1 系と同じ

Page 14: Play ja 3_update

Play1 と Play2

• Play1

Java で書かれた Java のフレームワーク

Scala はプラグインでサポート

• Play2

Scala で書かれた Scala/Java のフレームワーク

Page 15: Play ja 3_update

Play1 と Play2

• 基本的な設計思想は同じ

• 完成度を取るなら Play1

• 未来への成長を取るなら Play2

Page 16: Play ja 3_update

Play1 と Play2

• Play1 が好きな人から見ると、 2 はデグレードしたように見えており、少しもめていた

• Play1 は今後もサポートされることを発表し、メンテナーを増員した(それが私)

• Play1 が好きな方も安心してください

Page 17: Play ja 3_update

Play1 → 2 利点

• バイトコード操作との決別● Javassist : あらゆる箇所で● Javaflow : Continuation の実装で

• 上記を Scala + Akka で置き換えられる

• 特に Javaflow は 2008 年でメンテナンス止まっている

Page 18: Play ja 3_update

数字で見る Playframework

Page 19: Play ja 3_update

ML 登録メンバー数

6300 人超• 2 年半で 15 倍以上の伸び

Page 20: Play ja 3_update

1.x と 2.x の比較

1.x 2.xAge (years) 2.5 0.5Pull Requests(Open) 49 15Pull Requests(Close) 473 363Fork 409 427Watch 1308 1995Modules 135 27

1.x 2.xAge (years) 2.5 0.5Pull Requests(Open) 49 15Pull Requests(Close) 473 363Fork 409 427Watch 1308 1995Modules 135 27

Page 21: Play ja 3_update

• やはり世間の注目は 2.x に集まっていると言っていい状況

• 同時期の 1.x に比べ 2.x の開発はかなり活発

• 特に Pull Request の消化数は驚異的

• モジュールの数も時期を考えれば少なくない

Page 22: Play ja 3_update

1.x と 2.x の現状

Page 23: Play ja 3_update

1.x の現状

• 1.2.5 リリース

• 1.2.4 から実に半年かかった

• 正式にメンテナンスモードへ移行

• 次リリース( 1.3 )でおそらく終了

• メンテナ● Nicolas, Peter Hilton, Morten, Takafumi

Page 24: Play ja 3_update
Page 25: Play ja 3_update

1.3

• Hibernate4 対応( JDK5 サポート切り捨て)

• DocViewer の i18n

• 上記と細かい Bug fix のみ

• 例えばマルチ DB 対応などは入らない可能性が極めて高い

Page 26: Play ja 3_update

• i18n of docviewer のデモ

Page 27: Play ja 3_update

2.x の現状

• 2012/07/08 現在、 2.0.2 リリース

• ドキュメント未整備(みなさん Wiki を編集してください)

• モジュールリポジトリなし(開発中)

• モジュール志向なのにモジュールの作り方分かりづらい?

Page 28: Play ja 3_update

2.1 ロードマップ

• Scala2.10, sbt0.12 対応

• Play 独自 Promise を Scala 標準 Promise(SIP-14)へ変更

• スレッドプール設定の簡略化

• Scala JSON API の改善

• コンパイルスピードの改善

• 等々

Page 29: Play ja 3_update

2.x への要望

• なにかあればぜひ!

• Play は OSS です。みなさんの貢献が頼りです。

• 何か要望があれば本日まとめて伺って、ユーザーグループの意見としてコアメンバーに共有します。

• もちろん基本はコードを読んで Pull Request または本家 ML へ直接問題提起

Page 30: Play ja 3_update

ありそうな要望

• ロードマップを出してほしい → 出た

• ドキュメントを整備してほしい

• リリースノート書いてほしい

Page 31: Play ja 3_update

注目すべき記事

• Sadek が最近立て続けにブログ書いてる

• Play と RealTime WebApp● http://sadache.tumblr.com/post/26784721867/is-socket-push-bytes-all-what-you-need-to-program

• Play の Http API● http://sadache.tumblr.com/post/26258782102/bitsbou

t-play2-architecture

Page 32: Play ja 3_update

日本 Playframework ユーザー会

• https://groups.google.com/forum/?fromgroups#!forum/play_ja

Page 33: Play ja 3_update

日本 Playframework ユーザー会

• 不定期に勉強会をやってます

• 将来的にはコアメンバーたちを日本に呼ぶことも構想しています!!

• その実現のためには、みなさんのご協力が!!

Page 34: Play ja 3_update

日本 Playframework ユーザー会

• ドキュメントの翻訳も行っています!

• 現在は 2.x の翻訳を進めています。

• 興味のある方はぜひ ML でお知らせください。

Page 35: Play ja 3_update

というわけでPlay 勉強会、始まるよ!