狠狠撸

狠狠撸Share a Scribd company logo
Play!framework 2.0 の裏側




     笔濒补测!蹿谤补尘别飞辞谤办2.0ソースコードリーディング
お前誰よ(Who are you?)
@Masahito
仕事でPlay! frameworkを使っています。

Java/ScalaはPlay!を通してまだまだ勉強中。

主にPython系の勉強会に出没しています。
Play!framework2.0の
ドキュメント翻訳やってます




 一绪に翻訳してくれる方を募集しています!!
本日の内容
Play! framework 2.0と1X系の違いを説明

Play!framework の現状と今後を説明します

WebSocketのデモ

FAQ
本日の内容
Play! framework 2.0と1.X系の違いを説明

Play!framework の現状と今後を説明します

FAQ
その前にPlay!2.0はそもそもなんで作られ
たの?

Web開発環境の変化への対応(ready for real-time Web applications)

Java以外のJVM言語への対応(主にScala向け)

ビルドシステムの変更(SBTを使う)
メイン开発者は変わったの?



       中心人物は変わっていません



         guillaumeBort
Play! Framework2.0とは?
1系ではJavaで書かれていましたが、2.0系はScalaで
書かれるようになりました。Play!1X+Scalaの延長線
上に2.0系があると考えてよいです。

開発モードならばサーバー再起動不要で開発できま
す。

開発時にIDEを使うことも可能です。(Intelli JもOK)

Paas環境(Heroku)で運用可能
Play! Framework2.0とは?
1系と同様Nettyがベースになっています。Play!2.0の
ベースはNettyのwrapperです。

Java Servelet APIは使っていません。現状ではwar化
する機能はありません。(2.1で対応予定?)

Controllerは 普通のControllerと WebSocket専用の
Controllerの2種類になりました。

JobはAkkaベースに!
Play! Framework2.0とは?

もっと詳しい内容はこちらを参照
 http://playdocja.appspot.com/2.0
SBT

Simple Build Tools の略.Scala製

ライブラリを取って来たり、ソースのビルドを行う

  Mavenとかivy的なイメージ
ビルド速度の向上
さらにザックり説明

Play!1.X系ではWeb MVCが密結合

Play!2.0ではWebMVCが粗結合

各機能が別々のアプリになっていて、
各ライブラリを組み合わせて機能を実現

MVC間で連携する機能は現状弱いです
1.2.X   2.0
简単な比较
              テンプレー                    ビルドシステ
                          DBアクセス
                  ト                      ム
                        JPA(Hibernat
 Play! 1系     Groovyベース                Play!独自
                             e)

Play!+Scala   Scalaベース      Anorm      Play!独自

                       Java:EBean
 Play!2.0     Scalaベース                   SBT
                       Scala:Anorm
本日の内容
Play! framework 2.0と1系の違いを説明

Play!framework の現状と今後を説明します

FAQ
Play!2.0リリースされました

2012/03/14でついにリリース!!おめでとう

Githubのレポジトリは”2.1-SNAPSHOT”に

今はBug?xがすごい勢いで行われています。2.0.1が出
るらしいよ。

たまーに重要なバグを直していてびっくりします><
導入&アプリ作成

$ play new myWebApp
$ play run myWebApp
Model
Play!2.0ではjdbcでの接続を行うAPIが存在
つなぐところ以外は好きなライブラリを
つかえばOK
Anorm(アノーム)

 一応Play!2.0 の標準。SQLベースのDB操作API


ScalaQuery
「Squery使ってるよ」という投稿がMLに
Play!2.0で現状できないこと



 管理画面(1X系でのCRUDモジュール)

 認証認可(1X系でのSecureモジュール)
FW側では提供されないかも。
モジュールの作成が必要か
 warファイルの出力

   v2.1で対応予定?
Play!2.0で現状できないこと




 java doc/ scala doc
 DB構造の自動変更

   各ライブラリで作成
Play!2.0とmodule



基本的に機能追加はmodule前提

ここで公開されています。ユーザーが追加することも
可能 >> https://github.com/playframework/Play20/
wiki/Modules
Play!2.0のテンプレートの注意点



 標準ではCSRF対策が施されていません。

 “Authenticity Token module”は入れておいた方がいい
 でしょう。 >> https://github.com/orefalo/play2-
 authenticitytoken
本日の内容
Play! framework 2.0と1系の違いを説明

Play!framework の現状と今後を説明します

FAQ
Play1.Xと2.0の今後?
  3/30~31にかけてMLを多いにわかせる話題がありま
  した

  “Open Letter to Play Framework Developers”


  http://groups.google.com/group/play-framework/
      browse_thread/thread/1c66cf065cd5947/
aab1fdc00b023005?lnk=gst&q=Roman++Open+Letter
         +to+Play+Framework+Developers+#
Play1.Xと2.0の今後?

  「Play!2.0はなんでScalaベースなんだ!」「1Xででき
  たことが何にもできないだろうが、ふざけんな」



  http://groups.google.com/group/play-framework/
      browse_thread/thread/1c66cf065cd5947/
aab1fdc00b023005?lnk=gst&q=Roman++Open+Letter
         +to+Play+Framework+Developers+#
Play1.Xと2.0の今後?

  Giaullme「We are building a framework for the future,
  not for the past.」



  http://groups.google.com/group/play-framework/
      browse_thread/thread/1c66cf065cd5947/
aab1fdc00b023005?lnk=gst&q=Roman++Open+Letter
         +to+Play+Framework+Developers+#
Q. Play!2.0ができたってこと
は1系ってオワコンなの?
A. ちがうよ!全然違うよ!
Play!1系のメンテナンスはまだまだ続きます。

Play!1.2.5は4月に出るらしい。

メイン開発者は交代。原則コミュニティベー
スになる?

モジュールの開発者で1系の対応をしたくない人
もいるみたいのなのでそこは心配
Probably since it needs more
           bug ?xes and documentation
           than Play
           1.2.x that is 3 years old and well
           documented.
Gia

      http://groups.google.com/group/play-framework
      browse_thread/thread/615888c1ed2fc4da?pli=1
まとめ
Play! framework 2.0 はPlay!frameworkに対するセカン
ドシステム。Scalaとの親和性が向上。

機能が増えた訳ではない。むしろPlay!本体の機能を
減らし、外部ライブラリを組み合わせて機能を実現
する方針。

恐れずに使ってみると良いと思います。Controller /
JSON の使い勝手の良さは感動ものです!
情報源

ML : http://groups.google.com/group/play-framework
github: https://github.com/playframework/play20
Doc: https://github.com/playframework/Play20/wiki
ja   : https://github.com/playframework-ja/Play20/wiki
一绪に翻訳してくれる方を募集しています!!
ご清聴ありがとうございました
Ad

Recommended

Play!framework2.0 introduction
Play!framework2.0 introduction
masahitojp
?
Play2 translate 20120714
Play2 translate 20120714
masahitojp
?
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
Kazuhiro Hara
?
Jenkins に XFD を追加してみると
Jenkins に XFD を追加してみると
Kiro Harada
?
Firefox FAQ
Firefox FAQ
dynamis
?
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
Akihiro Kuwano
?
20130720 firefox os勉強会
20130720 firefox os勉強会
Masaya Nakayama
?
Java Play Restful JPA
Java Play Restful JPA
Faren faren
?
やさしい滨迟别谤补迟别别入门
やさしい滨迟别谤补迟别别入门
Takashi Kawachi
?
Java Play RESTful ebean
Java Play RESTful ebean
Faren faren
?
贵笔习熟度レベルと贵厂丑补谤辫虫の滨迟别谤补迟别别
贵笔习熟度レベルと贵厂丑补谤辫虫の滨迟别谤补迟别别
pocketberserker
?
アドテク×厂肠补濒补×パフォーマンスチューニング
アドテク×厂肠补濒补×パフォーマンスチューニング
Yosuke Mizutani
?
Developing an Akka Edge1-3
Developing an Akka Edge1-3
saaaaaaki
?
Dev love関西 forslideshare
Dev love関西 forslideshare
Daisuke Kasuya
?
Play jjug2012spring
Play jjug2012spring
Takafumi Ikeda
?
Skinny Framework 進捗と?うて?すか? #fud_scala
Skinny Framework 進捗と?うて?すか? #fud_scala
Kazuhiro Sera
?
笔濒补测贵谤补尘别飞辞谤办1.虫基础编
笔濒补测贵谤补尘别飞辞谤办1.虫基础编
Asami Abe
?
Playbay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイ
Kazuhiro Hara
?
蝉产迟マルチプロジェクトビルドの使いどころ
蝉产迟マルチプロジェクトビルドの使いどころ
Kazuhiro Hara
?
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
You&I
?
第2回 -Play部屋- Play 2.0はじめて&もくもく会
第2回 -Play部屋- Play 2.0はじめて&もくもく会
Kazuhiro Hara
?
PlaySQLAlchemyORM2017.key
PlaySQLAlchemyORM2017.key
泰 増田
?
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
Kazuhiro Hara
?
インタラクティブコンテンツにおける贬罢惭尝5と贵濒补蝉丑
インタラクティブコンテンツにおける贬罢惭尝5と贵濒补蝉丑
Yasunobu Ikeda
?
実戦厂肠补濒补
実戦厂肠补濒补
Yuto Suzuki
?
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
Kohei Kadowaki
?
笔濒补测贵谤补尘别飞辞谤办1.2.4における奥别产厂辞肠办别迟
笔濒补测贵谤补尘别飞辞谤办1.2.4における奥别产厂辞肠办别迟
Kazuhiro Hara
?

More Related Content

Viewers also liked (6)

Java Play Restful JPA
Java Play Restful JPA
Faren faren
?
やさしい滨迟别谤补迟别别入门
やさしい滨迟别谤补迟别别入门
Takashi Kawachi
?
Java Play RESTful ebean
Java Play RESTful ebean
Faren faren
?
贵笔习熟度レベルと贵厂丑补谤辫虫の滨迟别谤补迟别别
贵笔习熟度レベルと贵厂丑补谤辫虫の滨迟别谤补迟别别
pocketberserker
?
アドテク×厂肠补濒补×パフォーマンスチューニング
アドテク×厂肠补濒补×パフォーマンスチューニング
Yosuke Mizutani
?
Developing an Akka Edge1-3
Developing an Akka Edge1-3
saaaaaaki
?
Java Play Restful JPA
Java Play Restful JPA
Faren faren
?
やさしい滨迟别谤补迟别别入门
やさしい滨迟别谤补迟别别入门
Takashi Kawachi
?
Java Play RESTful ebean
Java Play RESTful ebean
Faren faren
?
贵笔习熟度レベルと贵厂丑补谤辫虫の滨迟别谤补迟别别
贵笔习熟度レベルと贵厂丑补谤辫虫の滨迟别谤补迟别别
pocketberserker
?
アドテク×厂肠补濒补×パフォーマンスチューニング
アドテク×厂肠补濒补×パフォーマンスチューニング
Yosuke Mizutani
?
Developing an Akka Edge1-3
Developing an Akka Edge1-3
saaaaaaki
?

Similar to 笔濒补测2の里侧 (20)

Dev love関西 forslideshare
Dev love関西 forslideshare
Daisuke Kasuya
?
Play jjug2012spring
Play jjug2012spring
Takafumi Ikeda
?
Skinny Framework 進捗と?うて?すか? #fud_scala
Skinny Framework 進捗と?うて?すか? #fud_scala
Kazuhiro Sera
?
笔濒补测贵谤补尘别飞辞谤办1.虫基础编
笔濒补测贵谤补尘别飞辞谤办1.虫基础编
Asami Abe
?
Playbay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイ
Kazuhiro Hara
?
蝉产迟マルチプロジェクトビルドの使いどころ
蝉产迟マルチプロジェクトビルドの使いどころ
Kazuhiro Hara
?
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
You&I
?
第2回 -Play部屋- Play 2.0はじめて&もくもく会
第2回 -Play部屋- Play 2.0はじめて&もくもく会
Kazuhiro Hara
?
PlaySQLAlchemyORM2017.key
PlaySQLAlchemyORM2017.key
泰 増田
?
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
Kazuhiro Hara
?
インタラクティブコンテンツにおける贬罢惭尝5と贵濒补蝉丑
インタラクティブコンテンツにおける贬罢惭尝5と贵濒补蝉丑
Yasunobu Ikeda
?
実戦厂肠补濒补
実戦厂肠补濒补
Yuto Suzuki
?
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
Kohei Kadowaki
?
笔濒补测贵谤补尘别飞辞谤办1.2.4における奥别产厂辞肠办别迟
笔濒补测贵谤补尘别飞辞谤办1.2.4における奥别产厂辞肠办别迟
Kazuhiro Hara
?
All I learned while working on a Scala OSS project for over six years #ScalaM...
All I learned while working on a Scala OSS project for over six years #ScalaM...
Kazuhiro Sera
?
剣と魔法のログレス いにしえの女神 ?スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 ?スマホ時代の MMORPG を支える技術
Satoshi Yamafuji
?
Spring frameworkが大好きなおはなし
Spring frameworkが大好きなおはなし
Satoshi Kisanuki
?
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介
Hiromu Yakura
?
Dev love関西 forslideshare
Dev love関西 forslideshare
Daisuke Kasuya
?
Skinny Framework 進捗と?うて?すか? #fud_scala
Skinny Framework 進捗と?うて?すか? #fud_scala
Kazuhiro Sera
?
笔濒补测贵谤补尘别飞辞谤办1.虫基础编
笔濒补测贵谤补尘别飞辞谤办1.虫基础编
Asami Abe
?
Playbay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイ
Kazuhiro Hara
?
蝉产迟マルチプロジェクトビルドの使いどころ
蝉产迟マルチプロジェクトビルドの使いどころ
Kazuhiro Hara
?
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
You&I
?
第2回 -Play部屋- Play 2.0はじめて&もくもく会
第2回 -Play部屋- Play 2.0はじめて&もくもく会
Kazuhiro Hara
?
PlaySQLAlchemyORM2017.key
PlaySQLAlchemyORM2017.key
泰 増田
?
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
Kazuhiro Hara
?
インタラクティブコンテンツにおける贬罢惭尝5と贵濒补蝉丑
インタラクティブコンテンツにおける贬罢惭尝5と贵濒补蝉丑
Yasunobu Ikeda
?
実戦厂肠补濒补
実戦厂肠补濒补
Yuto Suzuki
?
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
Kohei Kadowaki
?
笔濒补测贵谤补尘别飞辞谤办1.2.4における奥别产厂辞肠办别迟
笔濒补测贵谤补尘别飞辞谤办1.2.4における奥别产厂辞肠办别迟
Kazuhiro Hara
?
All I learned while working on a Scala OSS project for over six years #ScalaM...
All I learned while working on a Scala OSS project for over six years #ScalaM...
Kazuhiro Sera
?
剣と魔法のログレス いにしえの女神 ?スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 ?スマホ時代の MMORPG を支える技術
Satoshi Yamafuji
?
Spring frameworkが大好きなおはなし
Spring frameworkが大好きなおはなし
Satoshi Kisanuki
?
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介
Hiromu Yakura
?
Ad

More from masahitojp (14)

Python と型ヒントとその使い方
Python と型ヒントとその使い方
masahitojp
?
Enjoy Type Hints and its benefits
Enjoy Type Hints and its benefits
masahitojp
?
Build a RESTful API with the Serverless Framework
Build a RESTful API with the Serverless Framework
masahitojp
?
Presentation kyushu-2018
Presentation kyushu-2018
masahitojp
?
serverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Python
masahitojp
?
The Benefits of Type Hints
The Benefits of Type Hints
masahitojp
?
20170131 python3 6 PEP526
20170131 python3 6 PEP526
masahitojp
?
chat bot framework for Java8
chat bot framework for Java8
masahitojp
?
Akka meetup 2014_sep
Akka meetup 2014_sep
masahitojp
?
Pyconjp2014_implementations
Pyconjp2014_implementations
masahitojp
?
Pyconsg2014 pyston
Pyconsg2014 pyston
masahitojp
?
Riak map reduce for beginners
Riak map reduce for beginners
masahitojp
?
5分で説明する Play! scala
5分で説明する Play! scala
masahitojp
?
Python と型ヒントとその使い方
Python と型ヒントとその使い方
masahitojp
?
Enjoy Type Hints and its benefits
Enjoy Type Hints and its benefits
masahitojp
?
Build a RESTful API with the Serverless Framework
Build a RESTful API with the Serverless Framework
masahitojp
?
Presentation kyushu-2018
Presentation kyushu-2018
masahitojp
?
serverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Python
masahitojp
?
The Benefits of Type Hints
The Benefits of Type Hints
masahitojp
?
20170131 python3 6 PEP526
20170131 python3 6 PEP526
masahitojp
?
chat bot framework for Java8
chat bot framework for Java8
masahitojp
?
Akka meetup 2014_sep
Akka meetup 2014_sep
masahitojp
?
Pyconjp2014_implementations
Pyconjp2014_implementations
masahitojp
?
Pyconsg2014 pyston
Pyconsg2014 pyston
masahitojp
?
Riak map reduce for beginners
Riak map reduce for beginners
masahitojp
?
5分で説明する Play! scala
5分で説明する Play! scala
masahitojp
?
Ad

笔濒补测2の里侧

Editor's Notes