jQueryという存在について
こんにちは!りんごです。
いきなりですが、皆様に質問です。
最近jQuery使っていますか…?
実しやかに囁かれているjQuery不要論ですが、実際のところはどうなのでしょうか。
わたくしりんごも、始めたばかりの頃はjQueryに支えられ、jQueryと共にJSの道を歩んできました。
そんなjQueryのことを応援したい気持ちは山々なのですが、この際はっきり言うとモダン開発の現場ではjQueryはもはや使われていません。
モダン開発の現場と前置きをしたのは、
わたくしの現場に限った話ではないと、話に普遍性を持たせるためです。
理由としては大きく2つあって、
・リアルDOM操作、イベント駆動な設計は3大フレームワークに潰されつつある
・jQueryに出来ることの大半は、ES6が既に標準で用意している
モダン開発の現場では、Vueなどの仮想DOMを扱うのが一般的となり、そこでは要素取得などの用途でブラウザAPIは使われておりません。
※一部例外はあります。
イベント駆動設計も、データ駆動設計へと移り変わりました。
※データに変更があったらアクションを起こしてもらう形
そもそも初心者が見落としがちなのが、
ブラウザAPIを操作することがJavaScriptの全てじゃない
ということです。
ブラウザはあくまでJSの実行環境の1つです。
Node.jsというサーバーサイドの実行環境だってあります。
そこではブラウザAPIにアクセス出来ないので、
document.getElementById()
も使えません。サーバー側で使う必要性もないと思いますが…。
そう考えると、jQueryってかなりブラウザ、それもDOM操作に特化したライブラリであることが分かると思います。
そのブラウザ側でさえ仮想DOMを扱う方がレンダリングなどにおいて効率がよく、ソースコードも圧倒的に綺麗になる。
どうしてもリアルDOM操作が必要なら、それ素のJSで良くない?
…と、このように存在意義が問われてしまう訳ですね。
かといって、使うこと自体が悪いと言いたいわけでは当然ありません。
依然として、アニメーション系などの分野においてはjQueryのライブラリは使われる余地があると思っています。素のJSがまだ苦手なところですね。
ただ現実として、そういう時代が来ているのだと認識して頂きたいです。
私の現場だと、使ったら負けと言われてさえいます。(そこまで言うか!という感じですが…)
初心者にとってはとっつきやすい部分もあるので、沢山書いて出来ることを知ると言う意味では良いと思います。
ただ1つ付け加えるなら、
ES6の構文で書き換える癖を付けると、腐らない知識として今後も色んなところで役に立つと思います。
では以上です。
質問、気に入らない👎などの意見がありましたらコメント欄にて頂けると何でも返信しますので、お気軽に!
フォローもお待ちしています!