jQuery
jQueryは2006年にジョン・レジグ(John Resig)さんが公開したJavaScriptライブラリです。当時激しかったブラウザ互換性地獄を吸収し、CSSセレクタでDOM操作を行う簡潔なAPIを提供して、2010年代前半まで「ウェブ開発はjQuery」と言われるほどの存在感を持ちました。現在は新規プロジェクトでの採用は減ったものの、運用中の膨大なWebサイトで動き続けており、Webの歴史において欠かせない言語的パートナーです。
名前の由来
「jQuery」は「j(JavaScript)+ Query(問い合わせ)」を意味します。CSSセレクタを使ってDOMに「問い合わせ」をする、という発想がそのまま名前になっています。同時期に流行していたPrototype.jsやMooToolsなどの「js」「Tools」系の命名と比べ、機能の本質を一語で表す簡潔な命名が特徴です。
2000年代: ブラウザ互換性地獄
jQueryの誕生を理解するには、2000年代前半のWeb開発の状況を知る必要があります。Internet Explorer(IE)とNetscape/Firefox、Operaなどが独自のJavaScript実装を持ち、同じコードを書いてもブラウザごとに動いたり動かなかったりする時代が続きました。
例えばイベントリスナー登録だけでも、標準仕様の addEventListener はFirefoxでは動きましたが、IE 6〜8では独自の attachEvent を使う必要がありました。クリックイベントひとつ書くのに「ブラウザ分岐コード」を書く必要があり、ひとつのWebアプリを作るのに互換レイヤーのコードが本体より長くなることも珍しくありませんでした。
2006年: jQuery の誕生
2006年8月、当時22歳のジョン・レジグさんがjQuery 1.0を公開しました。当時はロチェスター工科大学(RIT)の学生でした。jQueryは内部でブラウザごとの分岐を全て吸収し、開発者には「ブラウザの違いを意識しなくていい」単一のAPIを提供しました。
核となる発想はCSSセレクタで要素を取得すること。$('.item')と書くだけで該当要素を取得できる、という直感的な書き方が、それまで document.getElementById や複雑なツリー走査で書いていたDOM操作を一気に簡潔にしました。querySelector が標準化されたのはjQueryの後で、jQueryの発想がブラウザ側に逆輸入された形になります。
もう一つの特徴がメソッドチェーンです。$('.item').addClass('active').fadeIn().on('click', handler) のように、選択した要素に対して連続して操作を繋げられるDSL(Domain Specific Language)的な書き味が、Web開発の書き方そのものに影響を与えました。
主要バージョンと黄金時代
| バージョン | 年 | 主な特徴 |
|---|---|---|
| jQuery 1.0 | 2006 | 初公開(John Resigさん) |
| jQuery 1.4 | 2010 | パフォーマンス大幅改善、Ajax強化 |
| jQuery 1.6 / 1.7 | 2011 | Deferred、.on()イベント統合 |
| jQuery 2.0 | 2013 | IE 6〜8 サポート打ち切り |
| jQuery 3.0 | 2016 | Promise A+準拠、性能改善 |
| jQuery 3.7 | 2023 | 最新メジャー、IE 11 サポート打ち切り |
jQueryの黄金時代は2010〜2014年頃で、Webサイトの約7割がjQueryを採用していたとも言われます。WordPress・Drupalなど主要CMSが標準採用し、Bootstrap(〜v4まで)もjQueryに依存していました。「JavaScriptを書く = jQueryを書く」という時代が長く続きました。
現代における jQuery の位置
2010年代後半以降、jQueryの役割は徐々に変わってきました。背景には2つの大きな変化があります。
1つ目はブラウザ標準APIの成熟。querySelector・fetch・classList・addEventListenerなどがすべての主要ブラウザで動くようになり、jQueryに頼らなくても素のJavaScriptで簡潔に書けるケースが増えました。
2つ目はReact・Vue・Angularの台頭。SPA(Single Page Application)型のWeb開発では、DOM操作を直接行うのではなく「状態の宣言→自動的に画面更新」という設計に移行しました。jQueryの「DOMを直接いじる」スタイルとは思想が異なるため、SPA時代には別のフレームワークが選ばれるようになりました。
とはいえ、jQueryは現在も運用中のWebサイトで膨大に動いているライブラリです。WordPressサイト・古いECサイト・社内ツール・既存サービスの管理画面など、新規開発こそ減っているものの、保守の現場ではjQueryを読み書きするスキルは引き続き必要です。「Webの歴史を作った言語的パートナー」として、Webデザインの教科書には今も載り続けています。
関連辞典
jQueryのセレクタ・DOM操作・イベント・アニメーション・実用パターンはjQuery辞典で詳しく解説しています。