エンジニアのひとり言

細々、エンジニア、会社やってます

Gulp と Webpack の採用基準

今日は、社内で運用しているCSSフレームワークの改善を行った。

gulp + sass + FLOCSS崩れ + Jade という構成なのだが、策定から5ヶ月ほどたって、ちょっと技術選定を見直そうかと思いたった。

webpack vs gulp

最近のOSSを見ていると、タスクランナーとしてwebpackを採用しているものが数多くなってきている。

弊社のフレームワークでは gulp をタスクランナーとして採用しており、webpackを採用してもいいのかなー?と思った。その上での考察。

gulp はタスクランナー

そもそもタスクランナーはどんな定義だっ?なのか。 ビルドツールとは違い、 「タスク」を自分で定義して、それを実行することに特化したツール って感じか。

まぁ、個々のソフトウェアの操作を タスクランナーの api を利用してタスクとして定義し、自動化するものと考えている。

webpack はビルドツール

その点、webpack はビルドツールだ。

webpack はどちらかというと browserifyと対をなすもの。

設定ファイルにエントリーポイントとアウトプットファイル、その他もろもろ定義しておくと、その通りビルドしてくれる。

どちらを選ぶか

正直、きっと今のトレンドとしては npm run script だろうが、チームスキルがまだ満たないので取り敢えず採用外。

gulp は なんだかんだ一番汎用性はあるのかなと思う。これまでの知見を得てもWeb上にいくらでも転がっているし。

その点、webpackは、結構学習コストが高いと感じた。 そもそも webpack の概念を理解するのも時間がかかりそうな気がする。

webpack で sass や jade (pugになってた) をファイルとして生成するのは、そもそもwebpack の概念にあっていないように感じた。

サイト制作においてwebpackを使うようなことはない

自社内フレームワークはあくまでもWebサイトが対象なので、gulp で事足りると判断した。わざわざコストをかけて webpack で実行する必要性は感じられなかった。

もちろん、Vue などで簡単なSPAを構築するときは今でも採用しているものはある。 あくまでまWebサイトって考えた時のこと

というわけで、まだしばらく gulp で頑張ろうと思った。