Play ja 3_update

Preview:

DESCRIPTION

 

Citation preview

Play! Framework Update

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

池田尚史 @ikeike443

自己紹介

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

• 株式会社シャノン Product Manager

• @ikeike443

• Play! Framework コミッター

• 日本 Playframework ユーザー会

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

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

Agenda

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

• 数字で見る Playframework

• 1.x の現状

• 2.x の現状

Playframework って何?

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

• フランスの Zenexity 社が開発

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

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

Playframework って何?

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

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

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

• Servlet を使っていない

• XML 不要

コアメンバー

Playframework の歴史

2007 年頃 (ver0.x)

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

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

• OSS 化

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

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

2011 年頃 (ver1.2)

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

• Websocket サポート

• Scala サポート

現在 (ver2.0.2)

• 全体を Scala で書き直し

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

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

Play1 と Play2

• Play1

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

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

• Play2

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

Play1 と Play2

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

• 完成度を取るなら Play1

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

Play1 と Play2

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

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

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

Play1 → 2 利点

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

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

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

数字で見る Playframework

ML 登録メンバー数

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

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

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

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

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

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

1.x と 2.x の現状

1.x の現状

• 1.2.5 リリース

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

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

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

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

1.3

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

• DocViewer の i18n

• 上記と細かい Bug fix のみ

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

• i18n of docviewer のデモ

2.x の現状

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

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

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

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

2.1 ロードマップ

• Scala2.10, sbt0.12 対応

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

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

• Scala JSON API の改善

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

• 等々

2.x への要望

• なにかあればぜひ!

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

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

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

ありそうな要望

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

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

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

注目すべき記事

• 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

日本 Playframework ユーザー会

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

日本 Playframework ユーザー会

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

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

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

日本 Playframework ユーザー会

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

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

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

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

Recommended