こんにちは。
プログラミングスクールとか、いろんな教材見ているとやたらにgulpをやらせているように見受けられます。
しかし、実際の現場でgulpが効力を発揮している場面ってもうあまり多くないのでは?と感じています。
少なくとも初心者がgulpを学ぶ意味はほとんどないと思っていて、その時間があったらHTML/CSSちゃんと書けるようになるとかJavaScriptの勉強に充てるとかした方が良いかなと。
というかまともにJavaScriptの知識がない人にgulpなんて複雑なもん触らせたらあらゆる場所でつまづいて学習を遅らせます。時間の無駄です。
そんなわけで、Web制作/Web開発の場面でgulpが有効なのか僕の目線で考えをまとめてみます。
Web制作
Sassをコンパイルするくらいにしか使わないが、そのSassがいらない
まず、Web制作の場合はSassをコンパイルするという用途以外gulpを使いたい場面はほぼないです。
それなのにさらにそのSassが大して必要ありません。
詳しくは過去の記事を読んでいただきたいですが、ざっくり言うと、
- Sassじゃないとできないことが少ない
- 恩恵を受ける場面も少ない
- その割に設計や管理のコストがやたらかかる
という理由で必要性が低いと考えています。
そしてその管理工数を大きくしているのがこのgulpであると言えます。設定を書くのも面倒だし、それを管理するのも工数がかかります。
案件で大して必要のないSassをコンパイルするために、もっと必要のないツールを時間をかけて学ぶ意味がどこにあるのでしょうか。
開発を効率化するためにSassやgulpを学んでいたはずが、残念ながら無意味だったということです。
もし開発を効率化したいなら、コーディング速度を上げたりミスを少なくしていくことの方が効果があると思います。Web制作を学んでいる方は、gulpのエラーで失う時間をそれらの勉強に使ってみてはどうでしょうか。
もっと良い代替の技術がいくらでもある
gulpで管理したいタスクがSassのコンパイル以外にもたくさんあるなら使う意味も出てきますが、Web制作領域でそのようなことはあまり多くありません。
そしてそういう場面に出会ったとしても代替の技術がいくらでもあります。例を挙げると、
- Astro(React、Vueなどのコンポーネント指向の恩恵を受けつつサイト制作ができるフレームワーク。公式:https://astro.build/)
- Vite(新しいバンドルツール。JavaScriptやSassなどをコンパイルしてまとめるようなツールをそう呼びます。公式:https://ja.vitejs.dev/)
- Turbopack(同上。公式:https://turbo.build/pack)
あたりです。それぞれについては各自調べていただければと思います。
後者2つはWeb制作領域ではあまり使われず、アプリケーション開発の領域でよく使われるツール群です。また、ある程度JavaScriptの知識やWeb開発の知見がないと使いこなすのは難しいです。
しかし近いうちにWeb開発領域に行きたい方なら今から学ぶ価値があります。後述ですが、Web開発領域ではまず選択肢に入らないgulpを今苦労して学ぶ意味は全く無いでしょう。
Sassのコンパイルのためだけならバンドルツールすらもいらない
というか、本当にSassをコンパイルしたいだけならVSCodeの拡張機能なんかでやれば良くないですか?
そのためだけにnpmでバンドルツールをインストールしたり、あれこれ設定を書いたりするのはちょっと大げさです。
とにかくJavaScriptの知識がまだ浅い状態で上記ツールを使うのはかなり難易度が高いですし、Web制作領域に限ってはバンドルツールを持ち出すほどの理由があまりありません。
そんな状態で必要もないツールに手を出し、よく分からないエラーで1日を終える・・・。そんな勉強方法が初心者にとって良い方法だとは思えません。
以下にVSCodeの拡張機能でSassのコンパイルをする方法の参考記事を貼っておきます。
Web開発|1ミリもいらない
Web開発領域においては、gulpが選択肢に入ることはあり得ないと言い切って良いと思います。前述の通り、ViteやTurbopackなどの優秀な代替ツールがあります。
また、Web開発のフロントエンドにおいてはReact系のNext.js、あるいはVue系のNuxt.jsを使って開発することが多数だと思います。これらのフレームワークにはJavaScript(近年はTypeScriptが多い)やCSS周りをコンパイルする機能が最初から含まれています。
当然gulpなど出る幕もありません。
それでもあなたはgulpを学びますか?
将来性もない
念押しのためにあえて1セクション使って言うのですが、今gulpを苦労して学んだとしても将来役に立つ可能性は極めて低いです。
- gulp単体で見ても必要性が薄い
- 優秀な代替ツールがある
- Web開発領域では全く使われない
といった理由に加えて、gulpは2019年を最後にアップデートされていないツールであることも付け加えておきます。最終更新が古い=絶対にダメだと言うわけではありませんが、やはり代替ツールの登場による需要低下の波は感じます。
2024年3月、5年ぶりにアップデートが行われバージョン5(v5)になりました。
Release gulp v5.0.0 · gulpjs/gulp (github.com)
と言っても僕の意見は今のところ変わりません。
とにかく、苦労して学んでも得られる恩恵があまりにも少ないのです。
まとめ
というわけで、gulpの僕目線での有用性についてでした。
本来は開発を効率化するために学んでいたものが、もはや逆効果と言ってもいい状態にあります。そしてそれを裏付けるように使われる場面がほとんどありません。
いい加減、gulpを教えるのはもうやめにしましょう。
Web制作においてコーディングを効率化したい方はこちらの本を買って学びましょう。
コメント