Playbay Play 2.0 plugin イロハのイ
Upcoming SlideShare
Loading in...5
×
 

Playbay Play 2.0 plugin イロハのイ

on

  • 2,895 views

 

Statistics

Views

Total Views
2,895
Views on SlideShare
2,894
Embed Views
1

Actions

Likes
8
Downloads
9
Comments
0

1 Embed 1

http://us-w1.rockmelt.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Playbay Play 2.0 plugin イロハのイ Playbay Play 2.0 plugin イロハのイ Presentation Transcript

  • PlayFramework 2.0 プラグイン イロハのイ 原 一浩 @kara_d
  • 原 一浩 @kara_d http://greative.jp/
  • 本日のセッション内容➡ Playプラグインを入れてみよう➡ Playプラグインとはなにか➡ Typesafe社製プラグインでまなぶ オリジナルプラグイン作成のための構成 3 View slide
  • Playプラグインを入れてみよう 4 View slide
  • 入れてみるプラグイン➡ Groovy Template Engine for Play 2➡ play2-project-info 5
  • アプリケーション用プラグイン➡ Groovy Template Engine for Play 2 • https://github.com/mbknor/gt-engine-play2 デモ 6
  • Build.scalaに書く val  appDependencies  =  Seq(    //  Add  your  project  dependencies  here,    "kjetland"  %%  "gt-­‐engine-­‐play2"  %  "0.1.6" ) val  main  =  PlayProject(appName,  appVersion,   appDependencies,  mainLang  =  JAVA).settings(    //  Add  your  own  project  settings  here            resolvers  +=  "mbknor  github  Repository"  at  "http:// mbknor.github.com/m2repo/releases/"     ) 7
  • Runした後に依存管理が行われる [info]  Updating  {file:/Users/hoge/study_play20/ testSample5/}testSample5... [info]  Resolving   org.hibernate.javax.persistence#hibernate-­‐jpa-­‐2.0-­‐api; 1.0.1.Fin                                                                                               [info]  downloading  http://mbknor.github.com/m2repo/ releases/kjetland/gt-­‐engine-­‐play2_2.9.1/0.1.6/gt-­‐ engine-­‐play2_2.9.1-­‐0.1.6.jar  ... [info]     [SUCCESSFUL  ]  kjetland#gt-­‐engine-­‐ play2_2.9.1;0.1.6!gt-­‐engine-­‐play2_2.9.1.jar  (2004ms) [info]  downloading  http://mbknor.github.com/m2repo/ releases/kjetland/gt-­‐engine_2.9.1/0.1.7.12/gt-­‐ engine_2.9.1-­‐0.1.7.12.jar  ... [info]     [SUCCESSFUL  ]  kjetland#gt-­‐ engine_2.9.1;0.1.7.12!gt-­‐engine_2.9.1.jar  (1179ms) [info]  downloading  http://repo.typesafe.com/typesafe/ releases/org/codehaus/groovy/groovy/1.8.6/ groovy-­‐1.8.6.jar  ... 8
  • コンソール用プラグイン➡ Project Information module for Play2! • https://github.com/karad/play2-project-info デモ 9
  • Plugins.sbtに書く resolvers  +=  "Greative  Maven  Repository"  at  "https:// github.com/karad/maven-­‐repo/raw/master/release/" addSbtPlugin("jp.greative"  %  "play2-­‐project-­‐info-­‐sbt"   %  "0.1") 10
  • Playプラグインとはなにか 11
  • Playプラグインは、➡ Play上の機能追加、依存管理する仕組み • アプリケーションの機能拡張 • ライブラリの追加 • 対話型コンソールの機能拡張➡ Playのプラグイン自体は、コンパイル済みのjar • これをsbtを使って依存管理する • ただし、Playコンソール系は別 12
  • Playコンソールについて➡ Playコンソールはsbtコンソールの拡張➡ sbt • sbt is a build tool for Scala and Java projects that aims to do the basics well. It requires Java 1.6 or later.➡ .sbtと.scala • .sbt build definition uses a Scala-based "domain-specific language" (DSL)➡ 始める sbt • http://scalajp.github.com/sbt-getting-started-guide-ja/ 13
  • Playとsbtの関係➡ Play 2.0以降、sbtが全面採用 • Playコマンド用 • ライブラリ、プラグインの依存管理用 • ビルド用 14
  • Playにおけるプラグインの種類➡ アプリケーション • Model • Controller • View - Tag➡ クラスライブラリ • jar➡ コンソール • sbtのコンソール - sbtプラグインとして作成 15
  • Playプラグインは何で書くの?➡ クラスライブラリとしてのプラグイン • Java/Scala両方➡ アプリケーションのプラグイン • プロジェクトによる➡ コンソール型のプラグイン • Scala 16
  • Typesafe社製プラグインでまなぶオリジナルプラグイン作成のための構成 17
  • 参考になるもの➡ play-plugins • https://github.com/typesafehub/play-plugins - dustプラグインとか参考になる➡ play本体 • project - Build.scala • framework - src console sbt-plugin 18
  • フォルダ構成➡ conf/ • application.conf➡ project/ • build.properties • Build.scala • plugins.sbt➡ sbt-plugin/ • src/ - main/ scala/➡ README.md 19
  • 使うファイル➡ プラグイン本体のソース • HogeKeys.scala • HogePlugin.scala • HogeTasks.scala➡ ビルド用ファイル • Build.scala デモ 20
  • リポジトリってどうなってるの?➡ Gitをmavenリポジトリとしているプラグインが多い • ライブラリのリポジトリと、mavenリポジトリで分ける • メリット - URLが出来る - マニュアル置ける - アップロード楽 - 無料 デモ 21
  • ありがとうございました7/14 第3回playframework勉強会http://playframeworkja.doorkeeper.jp/events/1231-%E7%AC%AC3%E5%9B%9Eplayframework%E5%8B%89%E5%BC%B7%E4%BC%9A-play_ja日本Play frameworkユーザー会https://groups.google.com/group/play_ja?hl=ja 22