SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
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.x
Age (years)
Age (years)
                   2.5      0.5
Pull Requests
Pull Requests
(Open)
(Open)              49      15
Pull Requests
Pull Requests
(Close)
(Close)           473      363
Fork
Fork
                  409      427
Watch
Watch
                 1308     1995
Modules
Modules
                  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-pu
• 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 勉強会、始まるよ!

Más contenido relacionado

La actualidad más candente

Closure Compiler Updates for ES6
Closure Compiler Updates for ES6Closure Compiler Updates for ES6
Closure Compiler Updates for ES6Teppei Sato
 
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略Teppei Sato
 
Aurora MySQL HandMade Major VersionUp
Aurora MySQL HandMade Major VersionUpAurora MySQL HandMade Major VersionUp
Aurora MySQL HandMade Major VersionUpTakafumi Nakahara
 
innodb_thread_concurrencyとtransparent hugepageの影響
innodb_thread_concurrencyとtransparent hugepageの影響innodb_thread_concurrencyとtransparent hugepageの影響
innodb_thread_concurrencyとtransparent hugepageの影響hiroi10
 
Sql database のご紹介
Sql database のご紹介Sql database のご紹介
Sql database のご紹介Oda Shinsuke
 
Windows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたTakashi Kanai
 
from Java EE to Jakarta EE
from Java EE to Jakarta EEfrom Java EE to Jakarta EE
from Java EE to Jakarta EEKoichi Sakata
 
inside 2012新卒説明会
inside 2012新卒説明会inside 2012新卒説明会
inside 2012新卒説明会Taiyoh Tanaka
 
20180901 community ws2019_share
20180901 community ws2019_share20180901 community ws2019_share
20180901 community ws2019_shareOsamu Takazoe
 
MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索yoyamasaki
 
Sql server sql database 最新機能紹介
Sql server sql database 最新機能紹介Sql server sql database 最新機能紹介
Sql server sql database 最新機能紹介Oda Shinsuke
 
Flowtype Introduction
Flowtype IntroductionFlowtype Introduction
Flowtype IntroductionTeppei Sato
 
dbts2013:MariaDB Galera Cluster 活用例
dbts2013:MariaDB Galera Cluster 活用例dbts2013:MariaDB Galera Cluster 活用例
dbts2013:MariaDB Galera Cluster 活用例Jun Shimizu
 
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良Shinya Sugiyama
 
JavaEE6 First Application #glassfishjp
JavaEE6 First Application #glassfishjpJavaEE6 First Application #glassfishjp
JavaEE6 First Application #glassfishjpSatoshi Kubo
 
Windows server2016注目の新機能
Windows server2016注目の新機能Windows server2016注目の新機能
Windows server2016注目の新機能Tsukasa Kato
 
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴Akihiro Kuwano
 

La actualidad más candente (19)

Spring Boot概要
Spring Boot概要Spring Boot概要
Spring Boot概要
 
Closure Compiler Updates for ES6
Closure Compiler Updates for ES6Closure Compiler Updates for ES6
Closure Compiler Updates for ES6
 
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
 
Aurora MySQL HandMade Major VersionUp
Aurora MySQL HandMade Major VersionUpAurora MySQL HandMade Major VersionUp
Aurora MySQL HandMade Major VersionUp
 
innodb_thread_concurrencyとtransparent hugepageの影響
innodb_thread_concurrencyとtransparent hugepageの影響innodb_thread_concurrencyとtransparent hugepageの影響
innodb_thread_concurrencyとtransparent hugepageの影響
 
Sql database のご紹介
Sql database のご紹介Sql database のご紹介
Sql database のご紹介
 
Windows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみた
 
from Java EE to Jakarta EE
from Java EE to Jakarta EEfrom Java EE to Jakarta EE
from Java EE to Jakarta EE
 
ISFで遊ぼう!
ISFで遊ぼう!ISFで遊ぼう!
ISFで遊ぼう!
 
inside 2012新卒説明会
inside 2012新卒説明会inside 2012新卒説明会
inside 2012新卒説明会
 
20180901 community ws2019_share
20180901 community ws2019_share20180901 community ws2019_share
20180901 community ws2019_share
 
MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索
 
Sql server sql database 最新機能紹介
Sql server sql database 最新機能紹介Sql server sql database 最新機能紹介
Sql server sql database 最新機能紹介
 
Flowtype Introduction
Flowtype IntroductionFlowtype Introduction
Flowtype Introduction
 
dbts2013:MariaDB Galera Cluster 活用例
dbts2013:MariaDB Galera Cluster 活用例dbts2013:MariaDB Galera Cluster 活用例
dbts2013:MariaDB Galera Cluster 活用例
 
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良
 
JavaEE6 First Application #glassfishjp
JavaEE6 First Application #glassfishjpJavaEE6 First Application #glassfishjp
JavaEE6 First Application #glassfishjp
 
Windows server2016注目の新機能
Windows server2016注目の新機能Windows server2016注目の新機能
Windows server2016注目の新機能
 
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
 

Destacado

Martina Rotini
Martina RotiniMartina Rotini
Martina RotiniLilllly
 
Andrea balency
Andrea balencyAndrea balency
Andrea balencyImacp
 
[plan politika] Youth movement nowadays
[plan politika] Youth movement nowadays[plan politika] Youth movement nowadays
[plan politika] Youth movement nowadaysPlan Politika
 
Ning site documentary films
Ning site documentary filmsNing site documentary films
Ning site documentary filmsjessicam0101
 
Building a Single Page App: One Page at a Time
Building a Single Page App: One Page at a TimeBuilding a Single Page App: One Page at a Time
Building a Single Page App: One Page at a TimeIvayr Farah Netto
 
2. facebook marketing concepts and resources
2. facebook marketing concepts and resources2. facebook marketing concepts and resources
2. facebook marketing concepts and resourceshenry7vernon
 
Weekly news 13th sept to 18th sept
Weekly news 13th sept to 18th septWeekly news 13th sept to 18th sept
Weekly news 13th sept to 18th septNitin Kochhar
 
Newebe, a social network where all users are independent
Newebe, a social network where all users are independentNewebe, a social network where all users are independent
Newebe, a social network where all users are independentFrank Rousseau
 
Informatica esercizio 3 marta caponi
Informatica esercizio 3 marta caponiInformatica esercizio 3 marta caponi
Informatica esercizio 3 marta caponimartacaponi
 
áLbum de fotografías
áLbum de fotografíasáLbum de fotografías
áLbum de fotografíasosmara64
 
Thats God
 Thats God Thats God
Thats GodBChange
 
IstruXure En Internetmarketing Compleet.Nl Presentatie
IstruXure En Internetmarketing Compleet.Nl PresentatieIstruXure En Internetmarketing Compleet.Nl Presentatie
IstruXure En Internetmarketing Compleet.Nl PresentatieistruXure
 
Non Profit Non Slideshow 7 16 10
Non Profit Non Slideshow 7 16 10Non Profit Non Slideshow 7 16 10
Non Profit Non Slideshow 7 16 10JohnFolger
 
Comment les grands acteurs du web s'improvisent magiciens et jouent avec nos ...
Comment les grands acteurs du web s'improvisent magiciens et jouent avec nos ...Comment les grands acteurs du web s'improvisent magiciens et jouent avec nos ...
Comment les grands acteurs du web s'improvisent magiciens et jouent avec nos ...Frank Rousseau
 
Sherry power point 6
Sherry power point 6Sherry power point 6
Sherry power point 6Sherry14
 

Destacado (20)

Martina Rotini
Martina RotiniMartina Rotini
Martina Rotini
 
Pensamiento complejo
Pensamiento complejoPensamiento complejo
Pensamiento complejo
 
Andrea balency
Andrea balencyAndrea balency
Andrea balency
 
[plan politika] Youth movement nowadays
[plan politika] Youth movement nowadays[plan politika] Youth movement nowadays
[plan politika] Youth movement nowadays
 
Ning site documentary films
Ning site documentary filmsNing site documentary films
Ning site documentary films
 
Building a Single Page App: One Page at a Time
Building a Single Page App: One Page at a TimeBuilding a Single Page App: One Page at a Time
Building a Single Page App: One Page at a Time
 
2. facebook marketing concepts and resources
2. facebook marketing concepts and resources2. facebook marketing concepts and resources
2. facebook marketing concepts and resources
 
Weekly news 13th sept to 18th sept
Weekly news 13th sept to 18th septWeekly news 13th sept to 18th sept
Weekly news 13th sept to 18th sept
 
Weekly news (3)
Weekly news  (3)Weekly news  (3)
Weekly news (3)
 
Newebe, a social network where all users are independent
Newebe, a social network where all users are independentNewebe, a social network where all users are independent
Newebe, a social network where all users are independent
 
Informatica esercizio 3 marta caponi
Informatica esercizio 3 marta caponiInformatica esercizio 3 marta caponi
Informatica esercizio 3 marta caponi
 
Shared Leadership Webinar
Shared Leadership WebinarShared Leadership Webinar
Shared Leadership Webinar
 
áLbum de fotografías
áLbum de fotografíasáLbum de fotografías
áLbum de fotografías
 
Thats God
 Thats God Thats God
Thats God
 
IstruXure En Internetmarketing Compleet.Nl Presentatie
IstruXure En Internetmarketing Compleet.Nl PresentatieIstruXure En Internetmarketing Compleet.Nl Presentatie
IstruXure En Internetmarketing Compleet.Nl Presentatie
 
Non Profit Non Slideshow 7 16 10
Non Profit Non Slideshow 7 16 10Non Profit Non Slideshow 7 16 10
Non Profit Non Slideshow 7 16 10
 
Comment les grands acteurs du web s'improvisent magiciens et jouent avec nos ...
Comment les grands acteurs du web s'improvisent magiciens et jouent avec nos ...Comment les grands acteurs du web s'improvisent magiciens et jouent avec nos ...
Comment les grands acteurs du web s'improvisent magiciens et jouent avec nos ...
 
Cpact09
Cpact09Cpact09
Cpact09
 
Weekly news 4
Weekly news 4Weekly news 4
Weekly news 4
 
Sherry power point 6
Sherry power point 6Sherry power point 6
Sherry power point 6
 

Similar a Play ja 3_update

Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Shota Umeda
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングterurou
 
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編kimulla
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾Ryutaro YOSHIBA
 
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpJavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpYuji Kubota
 
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードPlay framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードKazuhiro Hara
 
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレートdevsumi2009
 
ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべKaoru NAKAMURA
 
XPagesジャンプスタート
XPagesジャンプスタートXPagesジャンプスタート
XPagesジャンプスタートMitsuru Katoh
 
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016Nagato Kasaki
 
20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会samemoon
 
Firefoxの開発プロセス
Firefoxの開発プロセスFirefoxの開発プロセス
Firefoxの開発プロセスMakoto Kato
 
Javaはコミュニティの力で再び偉大になれるのか
Javaはコミュニティの力で再び偉大になれるのかJavaはコミュニティの力で再び偉大になれるのか
Javaはコミュニティの力で再び偉大になれるのかYusuke Suzuki
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another ApproachDaisuke Miyakawa
 
Firefox mobile for android internals
Firefox mobile for android internalsFirefox mobile for android internals
Firefox mobile for android internalsMakoto Kato
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていくRyo Mitoma
 

Similar a Play ja 3_update (20)

Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
 
Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
 
RESTful Webサービス
RESTful WebサービスRESTful Webサービス
RESTful Webサービス
 
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
 
Net fringejp2016
Net fringejp2016Net fringejp2016
Net fringejp2016
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾
 
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpJavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jp
 
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードPlay framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
 
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート
 
ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべ
 
XPagesジャンプスタート
XPagesジャンプスタートXPagesジャンプスタート
XPagesジャンプスタート
 
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
 
20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会
 
Java in the World of Container by David Buck
Java in the World of Container by David BuckJava in the World of Container by David Buck
Java in the World of Container by David Buck
 
Firefoxの開発プロセス
Firefoxの開発プロセスFirefoxの開発プロセス
Firefoxの開発プロセス
 
Javaはコミュニティの力で再び偉大になれるのか
Javaはコミュニティの力で再び偉大になれるのかJavaはコミュニティの力で再び偉大になれるのか
Javaはコミュニティの力で再び偉大になれるのか
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
 
Firefox mobile for android internals
Firefox mobile for android internalsFirefox mobile for android internals
Firefox mobile for android internals
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 

Más de Takafumi Ikeda

CEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするためにCEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするためにTakafumi Ikeda
 
チーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるかチーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるかTakafumi Ikeda
 
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCIJenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCITakafumi Ikeda
 

Más de Takafumi Ikeda (9)

CEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするためにCEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするために
 
Dev love kansai
Dev love kansaiDev love kansai
Dev love kansai
 
チーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるかチーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるか
 
Scala conf2013
Scala conf2013Scala conf2013
Scala conf2013
 
What is play
What is playWhat is play
What is play
 
Websocket shanon
Websocket shanonWebsocket shanon
Websocket shanon
 
Play ja kansai
Play ja kansaiPlay ja kansai
Play ja kansai
 
Shibutra ikeike443
Shibutra ikeike443Shibutra ikeike443
Shibutra ikeike443
 
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCIJenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
 

Play ja 3_update

  • 1. Play! Framework Update 2012/07/14 第 3 回 Playframework 勉強会 池田尚史 @ikeike443
  • 2. 自己紹介 • 池田尚史(いけだたかふみ) • 株式会社シャノン Product Manager • @ikeike443 • Play! Framework コミッター • 日本 Playframework ユーザー会 • 『 Jenkins 』オライリージャパン 寄稿 • 勉強会、翻訳等々やってます
  • 3. Agenda • Play って何?(おさらい) • 数字で見る Playframework • 1.x の現状 • 2.x の現状
  • 4. Playframework って何? • Java/Scala 用 Web フレームワーク • フランスの Zenexity 社が開発 • 現在は Typesafe 社の Typesafe Stack の一部でも ある • Rails ライク ● フルスタック ● CoC
  • 5. Playframework って何? • Web 開発者の Web 開発者による Web 開発者の ための Web フレームワーク • 決して JEE のフレームワークではない • JEE の規約に則っていない • Servlet を使っていない • XML 不要
  • 7.
  • 8.
  • 10. 2007 年頃 (ver0.x) • 社内フレームワークの時代 • Servlet / JSP
  • 11. 2009 年末〜 2010 年頃 (ver1.0) • OSS 化 • Groovy テンプレート , Python シェル • この頃から既に非同期 I/O を実装
  • 12. 2011 年頃 (ver1.2) • ネットワーク周りを Mina から Netty へ • Websocket サポート • Scala サポート
  • 13. 現在 (ver2.0.2) • 全体を Scala で書き直し • Netty+Akka で非同期 I/O の徹底 • 基本的な思想は 1 系と同じ
  • 14. Play1 と Play2 • Play1 Java で書かれた Java のフレームワーク Scala はプラグインでサポート • Play2 Scala で書かれた Scala/Java のフレームワーク
  • 15. Play1 と Play2 • 基本的な設計思想は同じ • 完成度を取るなら Play1 • 未来への成長を取るなら Play2
  • 16. Play1 と Play2 • Play1 が好きな人から見ると、 2 はデグレード したように見えており、少しもめていた • Play1 は今後もサポートされることを発表し、 メンテナーを増員した(それが私) • Play1 が好きな方も安心してください
  • 17. Play1 → 2 利点 • バイトコード操作との決別 ● Javassist : あらゆる箇所で ● Javaflow : Continuation の実装で • 上記を Scala + Akka で置き換えられる • 特に Javaflow は 2008 年でメンテナンス止まっ ている
  • 19. ML 登録メンバー数 6300 人超 • 2 年半で 15 倍以上の伸び
  • 20. 1.x と 2.x の比較 1.x 2.x Age (years) Age (years) 2.5 0.5 Pull Requests Pull Requests (Open) (Open) 49 15 Pull Requests Pull Requests (Close) (Close) 473 363 Fork Fork 409 427 Watch Watch 1308 1995 Modules Modules 135 27
  • 21. • やはり世間の注目は 2.x に集まっていると言っ ていい状況 • 同時期の 1.x に比べ 2.x の開発はかなり活発 • 特に Pull Request の消化数は驚異的 • モジュールの数も時期を考えれば少なくない
  • 22. 1.x と 2.x の現状
  • 23. 1.x の現状 • 1.2.5 リリース • 1.2.4 から実に半年かかった • 正式にメンテナンスモードへ移行 • 次リリース( 1.3 )でおそらく終了 • メンテナ ● Nicolas, Peter Hilton, Morten, Takafumi
  • 24.
  • 25. 1.3 • Hibernate4 対応( JDK5 サポート切り捨て) • DocViewer の i18n • 上記と細かい Bug fix のみ • 例えばマルチ DB 対応などは入らない可能性が 極めて高い
  • 26. • i18n of docviewer のデモ
  • 27. 2.x の現状 • 2012/07/08 現在、 2.0.2 リリース • ドキュメント未整備(みなさん Wiki を編集し てください) • モジュールリポジトリなし(開発中) • モジュール志向なのにモジュールの作り方分か りづらい?
  • 28. 2.1 ロードマップ • Scala2.10, sbt0.12 対応 • Play 独自 Promise を Scala 標準 Promise(SIP-14) へ変更 • スレッドプール設定の簡略化 • Scala JSON API の改善 • コンパイルスピードの改善 • 等々
  • 29. 2.x への要望 • なにかあればぜひ! • Play は OSS です。みなさんの貢献が頼りで す。 • 何か要望があれば本日まとめて伺って、ユー ザーグループの意見としてコアメンバーに共有 します。 • もちろん基本はコードを読んで Pull Request ま たは本家 ML へ直接問題提起
  • 30. ありそうな要望 • ロードマップを出してほしい → 出た • ドキュメントを整備してほしい • リリースノート書いてほしい
  • 31. 注目すべき記事 • Sadek が最近立て続けにブログ書いてる • Play と RealTime WebApp ● http://sadache.tumblr.com/post/26784721867/is-socket-pu • Play の Http API ● http://sadache.tumblr.com/post/26258782102/bitsbou t-play2-architecture
  • 32. 日本 Playframework ユーザー会 • https://groups.google.com/forum/?fromgroups#!forum/play_ja
  • 33. 日本 Playframework ユーザー会 • 不定期に勉強会をやってます • 将来的にはコアメンバーたちを日本に呼ぶこと も構想しています!! • その実現のためには、みなさんのご協力が!!
  • 34. 日本 Playframework ユーザー会 • ドキュメントの翻訳も行っています! • 現在は 2.x の翻訳を進めています。 • 興味のある方はぜひ ML でお知らせください。