00:00:00ついに jQuery 4 が登場しました。タイムスリップしたわけではありませんよ、これは
00:00:042016年以来となる待望のメジャーアップデートです。2年間のベータ期間を経て、
00:00:09jQueryの誕生から20年という節目にリリースされました。
00:00:12驚くかもしれませんが、jQueryは今でも非常に重要な存在です。全ウェブサイトの88%が
00:00:17現在も使用しており、その多くは WordPress によるものですが、他にも数多くの
00:00:21有名サイトで採用されています。「壊れていないなら直すな」というわけですね。
00:00:25ただし、今回のアップデートではあえて「壊す」変更も加えられています。
00:00:29長年望まれていた破壊的変更がついに実施され、レガシーコードの削減や
00:00:32非推奨API、非公開関数の削除、そして膨大なバグ修正が含まれています。
00:00:38それでは、主な変更点を確認しながら、jQueryがこの20年間で
00:00:42どれほどの進化を遂げたのか見ていきましょう。
00:00:49最初の大きな変更は、Internet Explorer 10以下のサポート終了です。
00:00:53ついに切り捨てられましたが、もし IE 11 でこれを見ている方がいてもパニックにならないでください。
00:00:58IE 11 のサポート終了は jQuery 5 まで持ち越されるので、まだチャンネル登録する時間はあります。
00:01:02あわせて、旧世代の Edge、過去3バージョンより前の iOS、
00:01:07過去2バージョンより前の Firefox、そして Android 標準ブラウザもサポート対象外となりました。
00:01:12一気に近代化が進んだ印象ですね。続く3つの変更も、この「近代化」がテーマです。
00:01:17変更点の2つ目は、ソースコードが AMD から ES modules へ移行したことです。
00:01:22これにより、Vite や Webpack といった最新のビルドシステムとも、工夫なしでスムーズに連携できます。
00:01:27懐かしさを楽しむため、あるいは単なる好奇心で、次のプロジェクトに入れてみてはいかがでしょうか。
00:01:33「懐かしさ」と言えば、このアップデートはJavaScript自体の進化も教えてくれます。
00:01:36変更点の3つ目として、多くのjQuery関数が削除されました。なぜなら、
00:01:41標準のJavaScriptがその機能に追いついたからです。isArray、parseJSON、trim、now、
00:01:46isNumeric、isFunction などが対象です。これらはすべて、外部ライブラリを使わずとも
00:01:51JavaScriptだけで実現可能になりました。そもそもこうした機能にライブラリが必要だったこと自体
00:01:56今となっては驚きですが、それこそが言語が進化してきた証でもあります。
00:02:01言語だけでなく、ブラウザも進化しています。近代化アップデートの最後、4つ目は
00:02:06「フォーカス順序」の修正です。意外かもしれませんが、以前はブラウザ間で
00:02:11focus や blur イベントの発生順序が一致しておらず、jQuery は独自の実装で
00:02:15一貫性を保っていました。しかし、古いブラウザがサポート外となった現在、
00:02:20IE を除く主要ブラウザの挙動が統一されたため、jQuery は独自の上書きをやめ、
00:02:24ネイティブの挙動に従うようになりました。
00:02:29開発チームがいかに jQuery の現代化に注力したかがわかりますね。かつて jQuery を
00:02:34便利にしていた機能の多くは、今や JavaScript の標準機能となっています。
00:02:38それでも、Deferred や Callback を Promise に置き換えたり(IE 11 を使わない場合ですが)、
00:02:47jQuery で行っていたアニメーションを CSS で実装するなど、まだ近代化の余地はあります。
00:02:52さらに一歩進めたい人のために、不要なモジュールを削ぎ落とした「スリムビルド版」も
00:02:55用意されており、わずか 19.5 KB に抑えられています。フルパッケージで
00:03:01全機能を残しつつ、現代では不要な機能を省いたスリム版を選択肢として提供するのは、
00:03:04非常に理にかなったアプローチだと思います。
00:03:08主要な変更は以上ですが、もちろん長年のバグ修正や微調整も無数に行われています。
00:03:12私が見つけた最も古いものは2014年のもので、JSON が自動的に JSONP に
00:03:17変換されてしまう問題が修正されています。また、2015年の問題で、
00:03:22私も遭遇した記憶があるのですが、CSS のセッターで単位のない数値に
00:03:28自動的に「px」が付与される仕様も、ついに修正されました。
00:03:33他にも探せば、タイポの修正といった細かなものまで山ほど出てきますが、
00:03:37この動画で語り尽くすには時間が足りません。
00:03:42個人的には、ウェブ開発の歴史における素晴らしい足跡である jQuery の
00:03:46現在地を確認したかったのです。今なお現役で使われ、メンテナンスされているものを
00:03:51「歴史」と呼ぶのは失礼かもしれませんね。もちろん、React などのモダンな
00:03:56フレームワークを差し置いて、今からあえて jQuery をメインに使うことはないでしょう。
00:04:01しかしこれは、ウェブが技術の積み重ねでできていることを思い出させてくれます。
00:04:06時に、地味で古くシンプルなツールこそが、誰も更新したがらない重要なレガシーアプリを
00:04:10支え、ウェブを繋ぎ止めているのです。皆さんは jQuery を使ったことがありますか?
00:04:15今も使っていますか?ぜひコメント欄で教えてください。チャンネル登録も忘れずに。
00:04:19それでは、また次回の動画でお会いしましょう。