「gulpってどうなの?」に対する返答

gulp

Gruntを使ってる人に「gulpってどうなの?」と聞かれる機会が最近何回かあったので、いまさらながら自分の所感を交えて答えてみる。

まず、自分がこれからプロジェクトを始めるとしたらgulpを使うでしょう。理由は質問に答えながら書いていきます。

Grunt使い続けちゃだめなの?

そうですね。あなたがGruntに十分慣れていて、タスクのテンプレートがあってすぐに開発に入れるならGruntを使い続けてもいいと思います。ただ、今はGruntとgulp両方とも使われていますが、どっちが覇権を握るかわかりません。Gruntしか知らないままgulpの時代が来たときにノウハウの差が多少出るかもしれません。

もしあなたがGruntを片手間程度に使っていて、設定してるタスクが「ローカルサーバとライブリロード、あとminify系くらい」な人ならgulpを触ってみる価値はあると思います。同じタスクをgulpでやりたければ、手を動かし始めさえすれば数分から十数分で設定できるでしょう。

Gruntとくらべてどこがいいの?

自分はとにかく記述が楽なのが気に入ってます。タスクの組み合わせもGruntよりやりやすいです。あと速い。gulpタスクの記述の仕方を知らない人でも、gulpfileを見ればそのタスクが何をするかすぐわかると思います。わかりやすいの大事。

例えば、複数人での開発で途中から参加した人が見たとき、タスクランナーを使ったことがない人が見たとき、gulpfileを見てパッとタスクがやってることが理解できればとても良いですよね。読んでわかりやすいということは、書き方もすぐ覚えられることと同意なのかなとも思います。

プラグインが少ないって聞くけど?

gulpが出始めたころに自分もそう思ってました。でも今はかなり増えていて相当にマニアックなやつ以外はあると思います。普通の制作で使うようなプラグインは十分に揃ってるでしょう。とにかく一度触ってみるくらいのことしても罰は当たりません。

使わない理由を探すのは大変結構ですが、触らずに伝聞だけの情報で判断するのはもったいないです。

使う理由がないし…

ないなら使わなくてもいいんじゃないでしょうか。でも最近はライブラリとかのプロジェクトにgulpfileがついてくる機会結構増えてる気がするので、そういうときにわざわざGruntに書き換えるのつらそう。

学習コストが…

gulpの学習コストめっちゃ低いと思います。前述したように他人が書いたgulpfileもパッと見で何がしたいかわかります。基本的な書き方を覚えればすぐにタスクが書けます。Gruntを覚えた人ならすぐに使い始められます。

使ってみようかな…

Good!

最近は日本語のエントリもいっぱい揃ってます。個人的なオススメはすでに書かれてるgulpfileを拝借することです。あーだこーだ言ってるエントリを見るよりまず動かしたほうがてっとり早いです。
参考にするのにオススメなのはWeb Starter Kitに同梱されているgulpfileです。

Web Starter KitのgulpfileにはWeb開発に最低限必要なものはだいたい揃ってます。gulpfileだけ拝借してタスクを試してみればすぐに理解できると思います。

1
$ npm i

からの

1
$ gulp serve

を試してみましょう

使ってるプラグイン

適当に羅列。これ+プロジェクトの要件ごとに使うやつ(sass, stylus, coffee, jadeとか)を足して使ってる。

  • gulp-load-plugins
  • run-sequence
  • gulp-plumber
  • browser-sync
  • gulp-autoprefixer
  • gulp-shell(duplecate)
  • gulp-exec
  • gulp-wait

ローカルサーバとライブリロードがしたいならborwser-syncだけあればいいでしょう。

さいごに

学習コストたいしたことないのでとりあえずさわっておくのをオススメします。Gruntも何も使ったことない人はgulpから始めるのがヨイと思います。

両方をぼちぼち使ってきた所感としてはgulpの方がストレスなく書ける気がします。プラグインごとのタスクの書き方の作法も少ないですし、なによりタスクの組み合わせが簡単にできるのが快適でよいです。Gruntなんだかめんどくさいな〜とか思ってる人はとっとと使ってみましょう。

(☝ ՞ਊ ՞)☝ Let’s gulp