3

優れたrequirejsオプティマイザーを使用して、Web アプリケーションのコードを圧縮しています。

アプリケーションは多くのサードパーティ ライブラリを使用します。いくつかのオプションがあります:

  • ユーザーがすべてのサードパーティのライブラリをサーバーから個別にダウンロードできるようにする
  • 利用可能な場合は、CDN からすべてのサードパーティ ライブラリをユーザーがダウンロードできるようにします。
  • これらすべてのライブラリの「圧縮」バージョンを 1 つのファイルに生成するには、ユーザーが requirejs を使用します。

これで、キャッシングおよび/またはCDNが個々のライブラリを取得するのにかかる時間を短縮できることはわかっていますが、15個のライブラリがある場合でも、15個のhttpリクエストが発生することになります。アプリケーションの実際のコードが 1 つまたは 2 つの比較的小さなファイルで提供される場合、これはさらに面倒です。

では、各方法の長所と短所は何ですか? また、(CDN を指すのではなく) アプリ内にライブラリをバンドルする場合、実際には (一般的な FOOS ライセンスの意味で) ライブラリを「再配布」することになると思います。

経験・アイデア問わず歓迎。

ありがとう。

4

1 に答える 1

0

Google の CDN for jQuery を使用する必要があるのはなぜですか? をご覧ください。質問、なぜCDNがより良い解決策なのか.

これにより、使用可能な並列処理が増加します。(ほとんどのブラウザは、特定のサイトから一度に 3 つまたは 4 つのファイルしかダウンロードしません。)

これにより、キャッシュ ヒットが発生する可能性が高くなります。(より多くのサイトがこのプラクティスに従っているので、より多くのユーザーが既にファイルの準備ができています。)

ペイロードが可能な限り小さくなるようにします。(Google では、ファイルをさまざまな形式 (GZIP や DEFLATE など) で事前に圧縮できます。これにより、非常に圧縮されており、その場で圧縮されないため、ダウンロードにかかる時間が非常に短くなります。)

サーバーが使用する帯域幅の量を減らします。(Google は基本的に無料の帯域幅を提供しています。)

これにより、ユーザーは地理的に近い応答を得ることができます。(Google は世界中にサーバーを配置しているため、待ち時間がさらに短縮されます。)

(オプション) スクリプトは自動的に最新の状態に保たれます。(「パンツの席で飛ぶ」のが好きなら、彼らが提供するスクリプトの最新バージョンをいつでも使用できます。これらはセキュリティホールを修正する可能性がありますが、通常はあなたのものを壊すだけです. )

于 2012-08-24T15:46:12.960 に答える