jQueryを置き換える3つのJavaScriptライブラリ

HTMLドキュメントのトラバーサル、アニメーション、イベント処理などのタスクを簡素化することで、堅牢なjQueryJavaScriptライブラリはWeb開発の様相を変えました。ウェブテクノロジーサーベイヤーのW3Techsによると、2019年5月の時点で、jQueryは既知のウェブサイトの74%でまだ使用されています。それにもかかわらず、2006年8月にデビューしたjQueryライブラリは、現在、一部の開発者から、時間が経過した古いテクノロジと見なされています。

近年、Cashライブラリや最新のバニラJavaScriptなど、jQueryの代替手段が登場しました。現在、WebブラウザーはすべてJavaScriptを同じ方法で処理し、互換性の問題を解決するためにjQueryは必要ありません。Redditの議論とYouTubeのビデオは、jQueryが時代遅れになったか、少なくとも以前ほど重要ではなくなったと主張しています。

jQueryが不要になった理由

あるYouTubeプレゼンテーションで、「jQueryは2018年も引き続き関連性がありますか?」と、Web開発教育者のBrad Traversyは、jQueryがおそらくこれまでに作成された中で最も一般化されたJavaScriptライブラリであることを認めています。習得が容易で、クロスブラウザー互換で、古いバニラJavaScriptよりも簡潔で、特定の機能を提供するプラグインが豊富です。しかし、JavaScriptはECMAScript 6からはるかに進歩しており、多くの状況でjQueryは不要になったとTraversyは結論付けています。

別のビデオでは、コーディング教育者のKenneth Lowreyが、jQueryに堪能になるのは時間の無駄だと主張しています。現在のWeb開発環境では、最近のブラウザーはほとんどの場合、JavaScriptを同じように処理します。ほとんどの場合、ネイティブJavaScriptコードは、「jQueryのような肥大化したレガシーライブラリ」よりも優れています」と彼は言います。

たとえば、jQueryはHTTPリクエストを作成するための選択肢でしたが、ECMAScript 6は、HTTPリクエストを簡単にするpromisedベースのAPIであるFetchを生み出しました。そして、進歩はHTTPだけにとどまりません。jQueryに配列の操作などのタスク用のユーティリティがあるのに対し、バニラJavaScriptでは、これらの操作への対応も改善されています。

バニラJavaScriptのアニメーションはjQueryよりもさらに難しいですが、CSSトランジションやキーフレームなどの他のオプションがあるとTraversyは指摘しています。サードパーティのGreenSockライブラリもアニメーションに使用できます。かつてjQueryによって支配されていたタスクであるDOM操作については、ネイティブブラウザーAPIがギャップを埋めました。

バニラJavaScriptで実行できないタスクの場合、Traversyは、jQueryのような一般化されたライブラリではなく、特殊なライブラリをお勧めします。Traversyは、中規模および大規模のアプリケーションにReact、Angular、VueなどのJavaScriptフレームワークを使用することも推奨しています。Traversyは、フレームワークのない単純なサイトで使用するためにjQueryを引き続き推奨しています。 

jQueryの代替

jQueryの代わりに何を使うべきですか?最新のバニラJavaScriptに加えて、jQueryの代替案の短いリストには、Cash、Zepto、およびSyncfusion Essential JS 2が含まれます。CashおよびZeptoは、MITライセンスの下で利用可能なオープンソースのJavaScriptライブラリです。Syncfusion Essential JS2は商用製品です。 

現金

CashはGitHubに3,570以上の星を持っています。最新のブラウザの「とてつもなく小さいjQueryの代替手段」として請求されているCashは、DOMを操作するためのjQueryスタイルの構文を備えており、非圧縮で32KBのスペースを占有します。Cashは、名前空間イベント、TypeScriptタイプ、最新のビルドなどの機能をサポートしています。CashはGitHubからダウンロードできます。

ゼプト

Zeptoは、「主にjQuery互換のAPIを備えた最小限のJavaScriptライブラリ」と説明されています。jQueryを知っている開発者はすでにZeptoの使い方を知っている、とそのメーカーは続けています。Zeptoは、jQueryよりもはるかに小さく、読み込みが速いと主張しており、モバイルおよびデスクトップブラウザー用のPhoneGapツールセットと連携できます。ZeptoはプロジェクトのWebサイトからダウンロードできます。

Syncfusion Essential JS 2

Syncfusion Essential JS 2は、TypeScriptで記述された商用ライセンスのJavaScriptUIコントロールライブラリです。Syncfusionは、jQuery UIライブラリの代替として機能し、Webアプリケーションを改善するための、オーバーヘッドが少なく、軽量で、モジュール式のライブラリとして設計されています。Syncfusionは、Angular、React、Vueなどのフレームワークをサポートしています。Syncfusion Essential JS 2を購入するか、SyncfusionWebサイトから無料トライアルをダウンロードできます。完全なソースコード、単体テストファイル、テストスクリプト、ライブデモはGitHubで入手できます。