play meet up...

16
フロントエンドと バックエンドの ビルド構成について 原 一浩 @kara_d Play Framework 2 Meetup

Upload: kazuhiro-hara

Post on 24-May-2015

4.055 views

Category:

Internet


2 download

DESCRIPTION

2014/05/24 Play meet up にて発表した資料です。

TRANSCRIPT

Page 1: Play meet up 発表資料「フロントエンドとバックエンドのビルド構成について」

フロントエンドとバックエンドの

ビルド構成について

原 一浩 @kara_d

Play Framework 2 Meetup

Page 2: Play meet up 発表資料「フロントエンドとバックエンドのビルド構成について」

自己紹介

2

原 一浩ハラ カズヒロ

グレーティブ合同会社代表

Playはじめて&もくもく会主宰Play JavaのCRUDプラグインを開発Play Javaでアプリケーションを開発運用中

http://greative.jp/

( @kara_d )

Page 3: Play meet up 発表資料「フロントエンドとバックエンドのビルド構成について」

Playはじめて&もくもく会

3

playframeworkja.doorkeeper.jp現在第21回まで開催

Scala版 8割、Java版 2割

Page 4: Play meet up 発表資料「フロントエンドとバックエンドのビルド構成について」

Play Framework 2徹底入門 - JavaではじめるアジャイルWeb開発

4

実践編(4章~7章)を担当

✦サンプルアプリの企画から設計、構築、テスト、管理画面作成までを一通り

マニュアルにはない詰まりポイントとかもちりばめられてます。

Page 5: Play meet up 発表資料「フロントエンドとバックエンドのビルド構成について」

アジェンダ➡ フロントエンド実装とバックエンド実装を分ける構成について•ケース1) Play内で完結

•ケース2) 別々のリポジトリで作成 -> jsやimgをコピー

•ケース3) appとuiを分けて2つのビルドシステムを使う

•ケース4) sbt-web?

5

どんな構成でビルドしてます?

Page 6: Play meet up 発表資料「フロントエンドとバックエンドのビルド構成について」

ケース1 Play内で完結Play内でビルド

Page 7: Play meet up 発表資料「フロントエンドとバックエンドのビルド構成について」

ケース1 Play内で完結➡ Play内でビルド•フロントエンド世界のビルドシステムを使わない

7

project

assets/public/...etc

CoffeeScriptLESS Pluginetc...

ビルドが、ちょいおそい...フロントエンドの人がどこをいじればいいか...悩む

Page 8: Play meet up 発表資料「フロントエンドとバックエンドのビルド構成について」

ケース2 別々のリポジトリで作成jsやimgをコピー

Page 9: Play meet up 発表資料「フロントエンドとバックエンドのビルド構成について」

ケース2) 別々のリポジトリで作成➡ jsやimgをコピー

9

project

public/FrontendJavaScriptImagesCSS

別リポジトリ

こちら内でGruntを使うなど

Page 10: Play meet up 発表資料「フロントエンドとバックエンドのビルド構成について」

ケース3 リポジトリ内でapp用とui用を分ける2つのビルドシステムを使う

Page 11: Play meet up 発表資料「フロントエンドとバックエンドのビルド構成について」

ケース3) Playリポジトリ内でapp用とui用を分ける➡ 2つのビルドシステムを使う

11

project

ui/

public/

FrontendJavaScriptImagesCSS

CoffeeScriptLESS etc...Buildして、/publicへ出力ビルドはやい...フロントエンドの人がいじる場所が固定アプリ内にファイル出力

Page 12: Play meet up 発表資料「フロントエンドとバックエンドのビルド構成について」

ケース3) Playリポジトリ内でapp用とui用を分ける➡ ディレクトリ構成•app/•conf/•public/•ui/ -> ここ以下Grunt

app/ -> Angularとかcomponents/node_modules/stylesheets/ -> LESSとかui-test-public/ -> フロントの人確認用publicエリア

12

書き出す

Page 13: Play meet up 発表資料「フロントエンドとバックエンドのビルド構成について」

ケース4 sbt-web ?

Page 14: Play meet up 発表資料「フロントエンドとバックエンドのビルド構成について」

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

Page 15: Play meet up 発表資料「フロントエンドとバックエンドのビルド構成について」

現場のニーズ➡ 動作をすぐに確認したい➡ コピーなどを行うのはうざいので、ビルドがやってほしい

➡ フロントエンド側ライブラリの管理は面倒•WebJarで、バックエンド側で解決するか?

•bower等で、フロントエンド側で解決するか?

➡ こんな風にやってます話があれば #play_ja へ

15

Page 16: Play meet up 発表資料「フロントエンドとバックエンドのビルド構成について」

ありがとうございました!次のPlayはじめて&もくもく会は

6月半ば~後半を考えてます

Play 2.1 はじめて&もくもく会日本Playframeworkユーザー会

http://playframeworkja.doorkeeper.jp/