jQueryは本当にいらない子になってしまったのか。

JQuery

jQueryはいらない!?

Webデザインをする方であれば、誰でもjQueryを使ったことがあると思います。
> jQuery-公式サイト

今更ですが、簡単にjQueryの説明をしますと▼こんな感じです。

ブラウザ間での違いを吸収しつつ、記述量を少なくして、リッチなサイトをつくるための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ライブラリシェア調査

下記が、記事の中からの抜粋です。

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

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

複雑で高度なWebサイトを作ろうとすると、jQueryだと辛くなるのは事実です。
しかし、普通のWordPressサイトだったり、シンプルなペライチWebサイト等はjQueryで作った方が楽だと思います。

下手に大仰なフレームワークを導入するとメンテナンス・学習コストがかかってしまい、割にあいませんしね。
未だに導入の手軽さ・記述量の少なさで、jQueryに敵うライブラリもありませんし。

普通のWebサイトを作るのであれば、jQueryはまだまだ現役ですし、十分使えます!

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

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

個人的な肌感覚ですが、この論調がネット上で幅を効かせている気がしますね。
確かに新しい技術を勉強する姿勢も大切ですが、「枯れた技術の水平思考」という言葉もある通り、古い技術も要は使いようです。

新しいから無条件で「良い技術だ!即導入だ!」ではなく、まず「作りたいモノは何か」を考え、実現するために新しい技術が必要なのであれば、導入するべきだと思います。

職業病と言いますか…Web製作の世界では、目的と手段が逆転してしまいがちなので、よくよく目的が何なのかを自問したほうが良いでしょう。

 

でも、まぁそんなミーハーな人は業界の中でも一部だと思いますよ…たぶん…そうだよね?

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

結局のところ、これですね。
jQueryはまだまだ使えると思いますが、今後も安泰というわけではありません。
別の革新的なライブラリやフレームワークが登場すれば、消えていくことでしょう。

いかに優れたライブラリ・フレームワークであっても、いつかはなくなっていきます。
これはフロントエンドに限った話ではありません。どの分野もそうです。

月並みなまとめになってしまうのですが、世の中の技術を常にキャッチアップして勉強していくしかないんですね。


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

4年前に書かれたコードがスッと理解できるって、やっぱすごい。
jQuery。半端ないって。

4年前にAngularで書かれたコードなんて絶対に見たくないですもん(笑)。

 

では、また!