web-dev-qa-db-ja.com

ブラウザにjQueryがインストールされていないのはなぜですか?

私はいくつかのWebサイトでjQueryを使用しています。CDNを使用して提供していますが、訪問者が毎回jQueryをダウンロードするのは意味がありません。 jQueryは世界で最も広く使用されているJavaScriptフレームワークである必要があります。ブラウザにデフォルトでインストールされているだけの場合、jQueryはより意味がありませんか?

そのようにして、1日何百万回もjQueryのダウンロードを防ぐことができました。人々自身のウェブサイトまたはCDNから。

本当に必要なのは、次のようなifステートメントのようなものです。

 <!--[if jQuery gt 11]>

ユーザーが既に別のサイトからキャッシュにjQueryを持っている場合、CDNへの旅行を防ぐのに役立つ何かがありますか?

19
user1914292

Googleの Hosted Libraries または cdnjs などの一般的なCDNからjQueryを提供する場合、訪問者が同じから参照したサイトにいた場合、jQueryは再ダウンロードされませんソース(キャッシュバージョンの有効期限が切れていない限り)。

jQueryはあなたが言うように人気のあるライブラリですが、ブラウザにバンドルすることはいくつかの理由で起こりそうにありません:

  1. jQueryは比較的小さい(Flashのようにブラウザにバンドルされることがあるライブラリと比較して)。平均的なサイトでの最大のパフォーマンスボトルネックは、jQueryのダウンロードが原因であるとは考えられません。
  2. JavaScript/ECMAScriptの改善により、開発者はjQueryに依存する必要がますます少なくなっています。 ( youmightnotneedjquery.com を参照してください。)
  3. 他にも非常に多くの人気のあるJavaScriptライブラリがあります。ブラウザは、JavaScriptコードのリポジトリとして設計されていません。スクリプトの人気を追跡し、人気の低いライブラリを削除し、すべてを最新の状態に保つことは、個々のサイトのWeb開発者に任せるのが最善です。
55
Nick

JQueryだけが人気のあるJSライブラリではないだけでなく、ブラウザには複数のバージョンを含める必要がある可能性があります。 Google CDN は現在、jQueryの42バージョンをリストしています。 jQuery UIの44バージョン。 jQuery Mobileの6つのバージョン。

Web開発者が、Webサイトの要件に基づいて、ダウンロードするライブラリのバージョンを定義できるようにすることをお勧めします。 jQueryの現在の製品バージョンをWebサイトで使用している場合およびより人気のあるCDNからロードすると、訪問者がすでにそれを持っている可能性が高くなります。とにかくキャッシュされます。

21
Andrew Lott

ブラウザはエンジンであり、エンジンの設計者の義務ではありません。どのような種類の燃料や追加の部品を車に入れてそれを含めるかを調べます。次の質問は「なぜjQueryなのか?」であり、依存関係のリポジトリを維持することになるため、このブラウザを使用すると巨大なブロートウェアになります。

また、すべてのバージョンを含めますか?誰かがカスタムバージョンを使用したい場合はどうなりますか?誰かがそのライブラリを使用したくない場合はどうなりますか?彼らはどのくらいの頻度で最新リリースをマージしてロールしますか?異なるバージョンのjQueryを備えた異なるブラウザーになりますか?標準化されたHTML、CSS、およびJavaScript機能を同等に実装することさえできません。ブラウザのメンテナーの1人がライブラリまたはその特定のバージョンを含めない場合はどうなりますか?

ブラウザは、完成したソリューションではなく、構築するためのビルディングブロックと環境を提供します。

ブラウザにjQueryを配置しても、サイトの読み込みが非常に高速になるわけではありません。最近ではこれが最大のボトルネックではないためです。ただし、jQueryは不必要に大きなライブラリですが、帯域幅)。 Zepto のように高速ロード用に軽量に設計された他の多くのライブラリがあります。

JQueryのサイズと帯域幅の使用が本当に心配な場合は、使用しないでください。 バニラJSについて聞いたことはありますか? jQuery自体を含むほぼすべての人がliterally使用しているさらに人気のあるライブラリです!そして、すべてのブラウザに含まれているため、すでに夢を実現しました!

14
totymedli

JQueryのようなライブラリを使用する理由は、互換性です。

ブラウザはより標準に準拠するようになりましたが、jqueryライブラリを使用すると、ブラウザファミリとバージョンの違いを心配する必要がなくなります。

Jqueryを自分で指定することにより、一貫したAPIを確実に使用できます。

ブラウザにjqueryが組み込まれている場合は、ユーザーが使用しているバージョンを確認する必要があります。ブラウザに戻り、「このサイトの表示に最適なサイトは...」です。

したがって、ブラウザにjqueryを組み込むことは意味がありません。

また、キャッシュが機能するため、ユーザーがjqueryバージョンをまだ持っていない場合でも、1回ダウンロードするだけで済みます。

2
Lenne