PlayFramework1.x基礎編

1,947 views
1,860 views

Published on

PlayFramework関西ビギナーズ 第1回(2012/11/17開催) にて使用したスライド。

最初にPlayの概要を説明した後、Play1.2.5で簡単なアプリケーションを作成する模様をライブコーディングしながらPlayの仕組みを解説しました。

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,947
On SlideShare
0
From Embeds
0
Number of Embeds
579
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • PlayFramework1.x基礎編

    1. 1. PlayFramework1.x基礎編 by Abe Asami2012/11/17
    2. 2. 自己紹介 Abe Asami “きの子” (フリーエンジニア) http://nocono.net/ Twitter: @aa7th  Java歴  2004年頃から1年半ぐらい 半年前にPlayFrameworkを知る
    3. 3. Play!で作ったもの Twitter大喜利サイト「ゲラゲラ!」 http://geragera.jp/ Play! ver1.2.4
    4. 4. Playframeworkとは✤ Java版Ruby on Railas✤ Java+ScalaのWebアプリケーション用 MVCフレームワーク
    5. 5. 従来のJava(JEE)開発 いい点 わるい点 オブジェクト指向 事前コンパイル コードが冗長 型安全 JVM・GC 設定ファイルが多い Javaサーバが必要 コンパイルしないと動かない 堅牢性 保守性 拡張性 高速 生産性 大規模開発 小・中規模開発
    6. 6. そこでPlay!では・・・ JavaEE使うのやめました! ホットリロード可能! Javaサーバ不要! 設定ファイルが減った! ステートレス!
    7. 7. さらに・・・ 開発の余計な手間を省こう! フルスタック! よく使う機能は標準で提供! 既存のライブラリも利用可能!
    8. 8. Play!を使うと・・・ いい点 わるい点オブジェクト指向 事前コンパイル コードが冗長型安全 JVM・GC 設定ファイルが多い Javaサーバが必要 大幅アップ! コンパイルしないと動かない 堅牢性 保守性 拡張性 高速 生産性 大規模開発 小・中規模開発
    9. 9. 今日はなぜ1.xの話? Play2.0は全てScalaで書き直された Javaも使えるが、Scalaメイン Scalaの学習コストが高い 2.x事例はまだ少ない 1.xもまだサポートされる 1.3がリリースされるとの 1.xの方が現時点では実用的 (※個人的な意見)
    10. 10. Play!の問題点 まだまだ情報が少ない! >< 知名度もまだ低い・・・
    11. 11. Play!の問題点 まだまだ情報が少ない! >< 知名度もまだ低い・・・ まず周りからPlay!ファンを 増やしていこう!!!
    12. 12. というわけで 今日の勉強会を開くに至りました。1人でもPlay!のユーザが増えてくれたら嬉しいです。 m(_ _)m ここからは実践編!
    13. 13. 環境構築必須:JDK1.5以上1.Play!本体をダウンロード http://playdocja.appspot.com/download2.展開・配置3.Playコマンドパスを通す
    14. 14. 以上!※GitHub、HomeBrewから入手する方法もあります。
    15. 15. プロジェクト作成~$ play new [アプリケーション名]
    16. 16. フォルダ構成ディレクトリ名 内容 主な格納ファイル app/ アプリケーション中心部 *.Java, *.html application.conf ,routes, conf/ 設定ファイル messages lib/ ライブラリ *.jarpublic/ 静的ファイル *.js, *.css, 画像 test/ アプリケーションテスト *.Java, *.html
    17. 17. 実行~$ play run [アプリケーション名] http://localhost:9000/ にて確認
    18. 18. サーバーは? スタンドアロンで動作する 1秒間に数千のHTTPリクエストを捌くことが可能 Javaサーバ不要! warファイルとしてJavaサーバにデプロイも可能 AWS,Heroku,GAEなどのクラウド環境でも動作
    19. 19. ソース編集IDEを利用 Eclipse, NetBeans,IntelliJ IDEAテキストエディタ Textmate, Vim,Sublime Text ...etc
    20. 20. IDE設定 ~$ play eclipsify[ec] myapp ~$ play netbeansify[nb] myapp ~$ play idealize[idea] myapp ※Eclipseには専用プラグインあり。
    21. 21. Eclipseの場合 プロジェクトをインポート
    22. 22. Eclipseから実行 右クリック→実行
    23. 23. 処理フロー
    24. 24. Eclipse注意点! テンプレートの文字コードがうまく判別されない・・・ 解決方法その1:*.htmlをPHPに関連付けるその2:eclipse.ini に 「-Duser.language=en」追加その3:テンプレートの一番上に下記のコード追加 *{ <meta content="text/html; charset=utf-8"/> }*その4:Eclipse以外のエディタに乗り換える
    25. 25. SessionとFlash複数のHTTPリクエストにまたがってデータを保持 Session・・・ユーザセッションが有効な間 Flash・・・次のリクエストのみ どちらもcookieに保持される 保存できるのは文字列のみ (1個4KB 20個まで)
    26. 26. キャッシュサーバサイド(JVM上)に保持されるJEEでいうところのセッションのように利用可能Memcached使えるよ!
    27. 27. herokuデプロイProcfileファイルをルートに作成 web: play run --http.port=$PORT $PLAY_OPTS

    ×