プログラミング

jQuery はいらない!?

Web デザインをする方であれば、誰でも jQuery を使ったことがあると思います。
> jQuery-公式サイト 今更ですが、簡単に jQuery の説明をしますと
▼ こんな感じです。

1
ブラウザ間での違いを吸収しつつ、記述量を少なくして、リッチなサイトをつくるための JavaScript ライブラリ

jQuery を使うと、簡単かつ少ない記述量で様々なことをサイト上で表現できます。
生の JavaScript は書けなくても、jQuery は書ける、なんて方も多いのではないでしょうか。

ちなみに、jQuery のキャッチコピーは「write less, do more」ですが、これは「少ない記述で、もっと多くのことをする」という意味です。
まさにこのキャッチを体現した JavaScript ライブラリなんですね。

さて、とっても便利な jQuery ですが、昨今「もう jQuery なんていらないんじゃないか」という「jQuery 不要論」が唱えられています。
今回は「jQuery 不要論」とその理由、そして jQuery の今後も考えつつ、いろいろと書いていきたいと思います。

--- 広告 ---

なぜ jQuery はいらないと言われている?

そもそも、あれほど流行った jQuery がなぜ「いらない」と言われるようになったのでしょうか。
その理由はいろいろ挙げられると思いますが、主要なのは下記になると思います。

  1. ブラウザ間の差異がなくなりつつある
  2. 他のライブラリ・フレームワークの台頭
  3. フロントエンドの複雑化
  4. Web ページのアプリケーション化

ブラウザ間の差異がなくなりつつある

昔は、ブラウザ間で表示が異なるという現象が多々ありました。
ブラウザとデバイスを 1 つずつ検証して、対処するだけでも多大な労力が必要だったのです。
特にInternet Explorerとか、Internet Explorerとか、Internet Explorerとかが原因です…

そんなブラウザ間の違いを吸収してくれたのが jQuery です。
jQuery の登場は、JavaScript のデファクトスタンダードと言われるほど、それはそれは衝撃的なものでした。

しかし、時は流れて現代。
ブラウザが進化を続けてきた結果、極端なブラウザ間の差異はなくなってきました
つまりブラウザ間の差異解消のために、jQuery を導入する必要性が薄れてきたのです。
jQuery は 1 つの役目を終えたと言ったところでしょうかね。

他のライブラリ・フレームワークの台頭

フロントエンド環境の変化はびっくりするほど早いです。
一度流行した技術が半年後には使われなくなっていた、なんてこともあります。
その栄枯盛衰の凄まじさたるや、まさに戦国時代のようです。

さて、肝心の jQuery ですが、実はフロントエンド界ではかなりの古株です。
jQuery の初版が 2006 年 8 月 26 日(wikipedia - jQueryより)なので、こんな環境の中で jQuery は 10 年以上もシェアを持っていた事になります!
実はコレ、かなりすごい事なんです。
そんなライブラリ作ろうと思っても作れません。。。

ただ 10 年立つと、jQuery の他にも便利なライブラリ・フレームワークが登場してきます。
今現在で幅をきかせているのが、AngularReactVueなどですね。 これらのフレームワークは後発ということもあって、やれること・できることがたくさんあります。(もちろんデメリットもありますが。)
どれか 1 つマスターすれば、世の中のだいたいの Web サービスは作れるようになるでしょう。
新しいライブラリ・フレームワークが登場し、高度なコトが Web 上で実現できるようになったため「jQuery 不要論」が出てきたのですね。
近のフロントエンド界隈は「jQuery なんて古いライブラリは卒業して、React やろうぜ!」って感じですもん。

Web とフロントエンド界隈の複雑化

元々 Web サイトは、HTML と CSS で作るものでした。
HTML で文書をつらつらと書き、どれがタイトルで、どれが本文で…と文書と構造とを対応させます。
そして、CSS でタイトルの文字を大きくしたり、本文の行間を整えたりして見やすくスタイリングします。

そうです。
Web ページとは言ってみれば、単なる文書です。
単なる文書だったのです。

時は流れ、Web ページは「単なる文書」から大きく進化しました。
ショッピングサイトが登場し、Web 上で買い物ができるようになったり…
映画・ホテル・病院…などの施設の予約ができるようになったりなど… Web 上でサービスを展開できるようになりました。

それに伴いフロントエンド、もとい JavaScript が担う部分も複雑化しました。
昔はピコピコ光るアニメーションをつけたり…少々過剰なホバーアニメーションをつけたり…と
いわば CSS+α 的な領域からユーザーの体験や満足度を左右する重要な部分を担うようになったのです。

しかしながら、今現在 jQuery が使われている部分はスライドだったり、タブ表示だったり…と、CSS+α 的の部分がほとんどです。
アプリのような高度なシステム、複雑な UI、サーバー間のやり取りを jQuery でやろうとすると途端に苦しくなります。
最近の複雑で巨大な Web サービスの構築を、jQuery でやるのが難しくなってきたのです。

Web ページのアプリケーション化

前項と被りますが、Web ページがアプリケーション化してきたのも「jQuery 不要論」を後押ししています。
「単なる文書」から進化し、Web サイトでサービスを展開できるようになったと思ったら、今度は Web でネイティブアプリ[※]っぽいことができるようなりました。
Web ページにアクセスするだけで、ファイル管理できたり、クラウドサービスを利用できたり、リッチなゲームができるようになったり…などなど。
Web の進化は留まるところを知りません。
ここらへんになると、Angular・React・Vue などのフレームワークの出番になってきます。

さすがに Web アプリケーションを jQuery でつくろうと言う酔狂な人はいないでしょう。
最近の Web 界隈は、jQuery では作るのが難しい複雑な Web アプリケーションが登場してきたのです。
[※]: OS 上にダウンロードして使用するアプリ全般を指します

jQuery もまだまだ現役

なんだかんだシェアを持っている jQuery

じゃあ、jQuery はこのまま消えてなくなっていくのか…と思われますが意外とそうでもないです。

こんな記事を見つけました。
JavaScript ライブラリシェア調査
下記が、記事の中からの抜粋です。

1
現状の JavaScript フレームワーク(ライブラリ)についてシェアを調べてみたところ、jQuery のシェアは一般企業のトップページにおいては依然高く、新しい技術の採用はまだ少ないという結果でした。
2
3
jQuery を採用しているのは 2549 件で全体の 70%近くが採用しています。
4
バージョンが明確になっているものの多くはバージョン 1 系統を採用している点も見逃せません。

なんだかんだ言って jQuery って使われてるんですよね。
私も jQuery 使います。
Bootstrap4 とか WordPress に入ってますしね。そのまま使っています。

複雑で高度な Web サイトを作ろうとすると、jQuery だと辛くなるのは事実です。
しかし、普通の WordPress サイトだったり、シンプルなペライチ Web サイト等は jQuery で作った方が楽だと思います。
下手に大仰なフレームワークを導入するとメンテナンス・学習コストがかかってしまい、割にあいませんしね。
未だに導入の手軽さ・記述量の少なさで、jQuery に敵うライブラリもありませんし。
普通の Web サイトを作るのであれば、jQuery はまだまだ現役ですし、十分使えます!

新しいモノ好きのフロントエンドエンジニアのせい?

どうもフロントエンドエンジニアの中には、新しいモノが好き過ぎる方達がいまして…
新技術が登場するや「これからは ○○ が流行る!だから jQuery はオワコンだ!」とまくし立てる人がいます。

個人的な肌感覚ですが、この論調がネット上で幅を効かせている気がしますね。
確かに新しい技術を勉強する姿勢も大切ですが、「枯れた技術の水平思考」という言葉もある通り、古い技術も要は使いようです。
新しいから無条件で「良い技術だ!即導入だ!」ではなく、まず「作りたいモノは何か」を考え、実現するために新しい技術が必要なのであれば、導入するべきだと思います。

職業病と言いますか…Web 製作の世界では、目的と手段が逆転してしまいがちなので、よくよく目的が何なのかを自問したほうが良いでしょう。
でも、まぁそんなミーハーな人は業界の中でも一部だと思いますよ…たぶん…そうだよね?

--- 広告 ---

まとめ:どの技術もいつかは寿命が来る

結局のところ、これですね。
jQuery はまだまだ使えると思いますが、今後も安泰というわけではありません。
別の革新的なライブラリやフレームワークが登場すれば、消えていくことでしょう。
いかに優れたライブラリ・フレームワークであっても、いつかはなくなっていきます。
これはフロントエンドに限った話ではありません。どの分野もそうです。
月並みなまとめになってしまうのですが、世の中の技術を常にキャッチアップして勉強していくしかないんですね。

余談ですが、最近、jQuery を使っていて感動したことがありました。
それは4 年前に jQuery で書かれたコードを読んでも、わりと理解できたということです。
まぁ、だからなんだって話ですが、個人的にかなり感動してしまいまして(笑)。

4 年前に書かれたコードがスッと理解できるって、やっぱすごい。
jQuery。半端ないって。
4 年前に Angular で書かれたコードなんて絶対に見たくないですもん(笑)。

では、また!