Skip to main content
Gruntの罪と罰
Grunt Front Osaka vol.1
2014.4.26
自己紹介
• かみやん (Twitter@kamiyam)

http://nantokaworks.com
• Engineer
• 主にJavaScriptでお仕事をしている人
• ボルダリング/人狼/カメラ/自動車
What is Grunt?
Gruntを使う理由
• タスクランナー
• 自動化
• 作業時間の短縮
Grunt is Task Tool
フロントエンドだけで
タスクは終わるものではない
サーバサイドにも
タスクは多数存在する
Node.js、Ruby
PHP(WordPress・CakePHP) etc...
フレームワーク、CMSを
Grunt で使う時の考え方 
• APIのレスポンスを展開する

テンプレートファイルのJS化
• サーバスクリプトの実行
• サーバサイドとのReverseProxy

連携用サーバ (LiveReload前提)
• ViewファイルのwatchとLiveReload 
テンプレート化された
フォルダ構成などで使うと
最大の効果を発揮する
• 会社のプロジェクトテンプレート
• フレームワーク
• Yeomen
プロジェクト初期から導入
大人数でタスクが共用できる
オレオレGruntfile
Grunt Weekly
https://twitter.com/gruntweekly
Grunt からシェルコマンドが
実行できる
• grunt-exec
• grunt-shell
grunt からのコマンド実行
Grunt で
"大体のことが出来る"ようになる
grunt全能感
"大体のことが出来る” のですべて
grunt でやってしまおうとする
• データベースの起動
• git連携
飽くなき自動化への欲求
grunt は便利
確かにこれは揺るぎない事実
正直、grunt を使わないと
仕事にならないぐらい
grunt の罪
積み重なるTaskの設定
タスクを解消するために
新たなタスクを作る結果に
スポットのコーディングで
気が付くとGruntfile.js の設定を
作りはじめてしまう
grunt 依存
じ、じゃあこれ、bower と
連携すれば一層便利になるはず・・・
grunt-bower-task・・・
コストとの効率の
程よいバランスが必要
grunt の罪
タスクツールは以前から存在して
いたが Node.js の柔軟さが受け入
れられ広く使われる事になった
ツールとしての賞味期限
先行しているツールである分、
変化も大きい
例えばv0.3 -> v0.4
v0.5 も登場する 
このあたりの変化が大きい
フレームワークは
Roadmap がとても重要
gruntを選択する理由
個人的には使うフレームワークが
gruntを使っているから使う
というスタンス
便利である分
後追いで色々なツールも
登場している
Grunt vs gulp?
gulp
「Gruntに置き換わるか?新生ビルドシ
ステム「gulp」v3.5.2入門」
http://re-dzine.net/2014/02/getting-
started-with-gulp/
「タスクランナーgulp最速入門」
http://d.hatena.ne.jp/anatoo/
20140420/1397995711
gulp Weekly
https://twitter.com/GulpWeekly
工程の問題ではない
早く成果物が上がる方を
選べば良いと思います
(個人的に)Sails.jsが
gulpに変わったら乗換え(ry)
フロントエンドの
livereload とcompile程度なら
middlemanを薦めている。
Middleman
手作業では再現出来ない環境を
構築するときなどで使うとよい
grunt-throttle
まとめ
• Webの人全てに関わる
• やった分は楽になる
• ただしコストとのバランス大事
ご清聴ありがとうございました