play meet up...
DESCRIPTION
2014/05/24 Play meet up にて発表した資料です。TRANSCRIPT
フロントエンドとバックエンドの
ビルド構成について
原 一浩 @kara_d
Play Framework 2 Meetup
自己紹介
2
原 一浩ハラ カズヒロ
グレーティブ合同会社代表
Playはじめて&もくもく会主宰Play JavaのCRUDプラグインを開発Play Javaでアプリケーションを開発運用中
http://greative.jp/
( @kara_d )
Playはじめて&もくもく会
3
playframeworkja.doorkeeper.jp現在第21回まで開催
Scala版 8割、Java版 2割
Play Framework 2徹底入門 - JavaではじめるアジャイルWeb開発
4
実践編(4章~7章)を担当
✦サンプルアプリの企画から設計、構築、テスト、管理画面作成までを一通り
マニュアルにはない詰まりポイントとかもちりばめられてます。
アジェンダ➡ フロントエンド実装とバックエンド実装を分ける構成について•ケース1) Play内で完結
•ケース2) 別々のリポジトリで作成 -> jsやimgをコピー
•ケース3) appとuiを分けて2つのビルドシステムを使う
•ケース4) sbt-web?
5
どんな構成でビルドしてます?
ケース1 Play内で完結Play内でビルド
ケース1 Play内で完結➡ Play内でビルド•フロントエンド世界のビルドシステムを使わない
7
project
assets/public/...etc
CoffeeScriptLESS Pluginetc...
ビルドが、ちょいおそい...フロントエンドの人がどこをいじればいいか...悩む
ケース2 別々のリポジトリで作成jsやimgをコピー
ケース2) 別々のリポジトリで作成➡ jsやimgをコピー
9
project
public/FrontendJavaScriptImagesCSS
別リポジトリ
こちら内でGruntを使うなど
ケース3 リポジトリ内でapp用とui用を分ける2つのビルドシステムを使う
ケース3) Playリポジトリ内でapp用とui用を分ける➡ 2つのビルドシステムを使う
11
project
ui/
public/
FrontendJavaScriptImagesCSS
CoffeeScriptLESS etc...Buildして、/publicへ出力ビルドはやい...フロントエンドの人がいじる場所が固定アプリ内にファイル出力
ケース3) Playリポジトリ内でapp用とui用を分ける➡ ディレクトリ構成•app/•conf/•public/•ui/ -> ここ以下Grunt
app/ -> Angularとかcomponents/node_modules/stylesheets/ -> LESSとかui-test-public/ -> フロントの人確認用publicエリア
12
書き出す
ケース4 sbt-web ?
sbt-web➡ 興味深い技術群で成り立っている•WebJars
•js-engine <- Trireme (tráiriːm) トゥラァィリィーム -> 三段櫂船
github.com/apigee/triremeEmbed Node.js inside a Java Virtual Machine『JVM上Rhinoは、V8よりもはるかに遅い。(いくつかのベンチマークでは、50倍の時間がかかります。)』とのこと。 Nashornとかになるとどうなるんだろう?
... まだよくわかってません。
14
現場のニーズ➡ 動作をすぐに確認したい➡ コピーなどを行うのはうざいので、ビルドがやってほしい
➡ フロントエンド側ライブラリの管理は面倒•WebJarで、バックエンド側で解決するか?
•bower等で、フロントエンド側で解決するか?
➡ こんな風にやってます話があれば #play_ja へ
15
ありがとうございました!次のPlayはじめて&もくもく会は
6月半ば~後半を考えてます
Play 2.1 はじめて&もくもく会日本Playframeworkユーザー会
http://playframeworkja.doorkeeper.jp/