2019-04-24に更新

初心者はWebpackの事は一度忘れた方が良い

最近Webpackの初心者に対する話がちょこちょこ話題になっている。でも最近はWebpackへの理解がそこまで重要では無くなってきつつある感じがするので、適当にそのあたりのことを書いてみる。

ちなみに話題になったのは下記のスライドが発端。

なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -

あとこのあたりとか
Webpack の考え方について - mizchi's blog

ちゃんと知りたい人は当記事じゃなくて上記ふたつを見た方がいい。当記事は単なる雑記のため。仕事できっちりやらないといけない人には向かない内容。(そもそもWebpack初心者と、Web開発初心者という意味の違いがある)

そもそもWebpackとは何なのか

Webpackは大雑把に言えばプログラムを一つのファイルに纏めてくれるもの。

例えば、Windowsの実行ファイルなども色々なプログラムをビルドして一つのexeファイルになる。それと同じで、最終的に一つのjsファイルとかcssファイルとかにまとめられる。

実行ファイルではないので下記のような感じでHTML上で読み込まれる。

<script src="js/matomerareta.js"></script>

もしWebpackでまとめられていない場合、はるか昔などは上記のような読み込みを何行もかけて書いてたくさんのjsファイルを読み込んでいた。

初心者は特にWebpackのことを知らなくても何か作れる

Webアプリケーション用のフロントエンドのアプリケーションを開発する場合、最近はJavaScriptのフレームワークを使うことが主流になってきていると思う。

もちろんその時Webpackを使う必要があるのだが、だいたいフレームワークにラップされているため、最初はほとんど意識しなくても良くなっている。例えばNext.jsやNuxt.js、Angular等を利用する場合、だいたいプロジェクトを新規作成するためのCLI(vue-cliやAngular CLI、create-nuxt-app等)が用意されており、それを実行するだけで一通りプロジェクトの雛形を作ってくれ、すぐに動かせる状態にまでしてくれる。そのため、そもそもWebpackの設定を一から作ってプロジェクトを構築する、ということは必要ではなくなってきている。

PHPのフレームワークのLaravelですらLaravel MixというWebpackのラッパーが入っていて、全く意識すること無くVueを使っていくことができるようになっている。

そのような感じで今はWebpackを知らなくてもアプリケーションが作成できる。

もちろん細かい設定の変更や追加をする場合はWebpackの設定を弄らなければならない場面なども出てくるので、その段階になって少しずつわからないところや必要なところを調べていけばいいと思う。

Twitter上でも時々「Webpackを学び始めたけど分からない」みたいな発言を見かけたりするが、Webpackから入るのではなく、Webpackが梱包されているフレームワークから学び始める方が色々と近道になるような気がする。

まとめ

そんな感じでWebpackは触る機会が少なくなっていくのでは、という気がしている。個人的にもそれでよくて、余計なことは考えずアプリケーションの開発に没頭できる方がよいのでは、と思っている。

また例が極端だけどWindows用のアプリケーションを作るときだってだいたいVisual Studioが何となくあれこれ勝手にやってくれて、ちょこちょこ必要な設定をいじる以外はビルドの仕組みをあまり理解しなければならない、ということもない。Webpackもそういうものになっていくとよいかな…と思う。(とはいえ専用の開発用ソフトウェアがあるわけではくそこまでは行かないと思うので、今の通りちょこちょこいじっていかなければ行けない状態は続くと思うけど)

ツイッターでシェア
みんなに共有、忘れないようにメモ

だら@Crieit開発者

Crieitの開発者です。 Webエンジニアです(在宅)。大体10年ちょい。 記事でわかりにくいところがあればDMで質問していただくか、案件発注してください。 業務依頼、同業種の方からのコンタクトなどお気軽にご連絡ください。 業務経験有:PHP, MySQL, Laravel, React, Flutter, Vue.js, Node, RoR 趣味:Elixir, Phoenix, Nuxt, Express, GCP, AWS等色々 PHPフレームワークちいたんの作者

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント