JQueryおよび同様のツールをブラウザのインス​​トールに組み込むことはできますか?


19

JQueryとCDNについての別の質問を読んだ後、JQueryのようなツールがブラウザに「付属」し、CDNまたは独自のホストサーバーからの最初のダウンロードの必要性を削減/排除できるかどうか。

特に、JQueryファイルは非常に小さいため、ブラウザーのインストールの一部として、さまざまなバージョン(多数?)を簡単に作成できます。かなり公平になりましたが、これによりインストールのフットプリント、ブラウザ自体のダウンロード時間が増加します。

次に、サイトはCDN(キャッシュ)の前にまず「ローカル」をチェックし、最終的にWebサイトサーバー自体からのダウンロードにデフォルト設定することができます。

これが実行可能である場合、実行されているか、実行されていない場合、なぜ実行されないのか?


3
特定のJavaScript関数がいたるところに存在するようになり、あらゆる場所で必要であると見なされると、言語に追加されます。Array.prototype.forEachArray.prototype.indexOfObject.createJavaScriptエンジン自体にバンドルされてしまったすべてのコード例です。
zzzzBov

サイトが最初にレンダリングされるときに、必要なjQuery / javascriptファイルをキャッシュする機能を備えた拡張機能をインストールするオプションをエンドユーザーに提供するソリューションがChromeで提供されると確信しています。ユーザーが拒否すると、通常どおりリクエストが強制されます。「次回から確認しない」オプションは、このオプションを無効にすることができます。エンドユーザーが単純なチェックボックスリストを使用して、ブラウザキャッシュに保存するjsファイルを選択できる領域が設定にある場合があります。常にカスタムJSがあるであろう、クライアントに送信されたが、要求ごとにクライアントに送信されたJSファイルを除外することが、Pを最適化するだろうと思わ
yardpenalty

1
どのバージョンを含めることをお勧めしますか?来週はどうですか?
pdr 14年

@pdr-古い質問。これを行うことに対する否定的な答えがたくさんあります。ただし、最新バージョンをブラウザーリリースに簡単にバンドルし、必要に応じてユーザーコードがCDNから新しいバージョンを要求するようにフォールバックできるようにすることができます。JQuery 2.0のような重大な変更により、両方を使用してコードを選択できるようになります。本当にすべてミュートポイント:)
ozz 14年

回答:


15

できなかった技術的な理由はありません。しかし、それは必要ではなく、ウェブの基本的な哲学に反しています。それは必要ありません。なぜなら、あなたは遠い将来のexpiresヘッダーでほとんど同じことを達成できるからです。ライブラリがブラウザにバンドルされるべき/されないべきであるトップダウンの集中化された権限が存在するため、ウェブの哲学に反します。

編集:JOMライブラリは、主にDOMの処理を容易にするためにあります。サードパーティのライブラリをブラウザにバンドルすることは、DOM APIをより快適にする正しい方法ではないと思います。


1
おかげでダン-あなたが説明するものについて私が読むことができるリンクはありますか?
オズ

1
私は、ページをリクエストするたびにメガバイトの共通ライブラリにメガバイトをダウンロードする必要があると、ウェブページを小さくアクセスしやすいものにするという別の基本的なウェブ哲学に反すると主張します。結局のところ、多くの人々はまだモデムを使用しており、衛星接続が遅い。
maple_shaft

4
根管の操作は... DOM APIをより快適になるだろう
ドナル・フェローズ

1
@maple_shaft、それはやや特殊な議論です。縮小されたjQueryディストリビューションは31Kです。狂った数の異なるライブラリをロードするWebページが存在することは確かですが、質問はjQueryに固有のものであり、くだらないプログラマーの説明はありません。
アダムクロスランド

16

実際、あなたが説明していることはすでに何年も存在しています。キャッシングと呼ばれます。また、JQueryだけでなく、ブラウザがダウンロードできるすべてのもので利用できます。

次に、サイトはCDNの前に最初に「ローカル」をチェックしてから、最終的にWebサイトサーバー自体からのダウンロードにデフォルト設定します。

これは、まさにすべてのブラウザーが行うことです。最初にローカルキャッシュをチェックしてから、必要に応じてCDNからローカルキャッシュをダウンロードします。適切なキャッシュ構成を使用すると、サーバーへの往復(新しいバージョンを確認するため)が数か月間もありません。

ブラウザのセットアップにJQueryを含めると:

  • ブラウザアプリケーションとセットアップに不必要な複雑さを追加し、

  • 更新プロセスに不要な複雑さを追加し、

  • 更新の数を増やして、JQueryを必要としない人でも最新バージョンのJQueryを維持します。

  • 混乱を追加する:なぜPrototypeではなくJQueryなのか、他のフレームワーク、画像、CSSファイルなどではないのか?

機能やパフォーマンスなどの点でメリットのないソフトウェア製品の複雑さを増やすことは、非常に悪い考えです。


ありがとう。ええ、私は質問で明確ではありませんでした。私はそれが起こることをよく知っています。私は最初のダウンロードでさえ不要にすることについて話している。質問を更新します。
オズ

ブラウザのセットアップに含めないすべての理由に感謝します:
ozz

6
最初のダウンロードの必要性をなくすことはできません。jQueryのは、セットアップに含まれている場合は、それがされた人は、セットアップの実行可能ファイルをダウンロードし、初めて(jQueryのの新しいバージョンがリリースされたときに、それが更新によって再びダウンロードされる)でダウンロード。
アルセニムルゼンコ

2
パフォーマンスヒットを排除するわけではありませんが、最初のWebサイトのアクセスからセットアップ実行可能ファイルのダウンロードに移動します。つまり、全体的にこれはパフォーマンスの保存の反対です。古いブラウザーや、最新のJQueryバージョンのリリース以降に更新されていないブラウザーをサポートする場合も、CDNの必要性がなくなるわけではありません。
アルセニムルゼンコ

1
@Allこれについてさらに議論したい場合は、チャットに参加してください。
maple_shaft

5

jQueryはjsライブラリであることを忘れないでください、それは事実上のものになり、万能薬として見られたようです(SOでミームになるまで)が、それは単なるjsライブラリです。

スクリプト用に標準化されたもの(EMCAScript)すべてブラウザーに既に含まれており、他のブラウザーに追加されたものはすべて非標準になり、非標準ブラウザーのクロスブラウザーの問題(IEイベントモデルなど)になります)jQueryのようなライブラリが最初に作成された理由の一部に影響します。

簡単な答え:それらは含めることができますが、含めるべきではありません。


5

ブラウザのキャッシュは、あなたが話しているものに非常によく似たものを提供します。jQueryまたは他のJSライブラリが一度ダウンロードされ、その後のリクエストでキャッシュから取得される場合があります。

jQueryは最も一般的なJavaScriptライブラリかもしれませんが、それだけではなく、ブラウザのインス​​トール済みコンポーネントにすることはJSエコシステムにとって悪いことのように思えます。競争は健全であり、一般に革新につながります。開発者とソフトウェアユーザーは、jQueryに特別な地位を与えても十分なサービスを提供できません。

キャッシュを考慮に入れると、得られる利点はごくわずかです。jQueryの縮小バージョンはわずか31Kです。それは何かを変える理由ではありません。


Adamに感謝-はい、私は最初のダウンロード、キャッシュシナリオを知っています。私の考えもそれを置き換えることです。JQueryは1つの例にすぎませんでしたが、競争に関するあなたの考えに同意します。その後、「デフォルト」コンポーネントの異なるセットなどを持つ異なるブラウザを使用することになります。
ozz

キャッシュを認識していることを示す質問を更新しました:
ozz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.