6

Web ページで JavaScript コードを使いすぎることの欠点を教えてください。

たとえば、ドロップダウン メニュー、タブ、およびアコーディオンに jQuery フレームワークを使用します。私のカレンダー用の他の JavaScript (jQuery を使用する利用可能なカレンダーがありますが) や、他のもの用の他の JavaScript はありますか? 効果は何ですか?(私の意見では、JavaScript の競合と負荷が重い)

私は、2 つ以上の JavaScript フレームワークをマスターしている多くの開発者を知っています。私の質問は次のとおりです。プロジェクトを開発するとき、そのプロジェクトの JavaScript フレームワークをどのように選択しますか? なぜそのプロジェクトでMooToolsや jQuery を使用するのですか? (それは選択の問題であることは承知しています)が、他に理由はありますか?mootools がこれに適しているように... または jQuery がそれに適しています..

ご意見をお聞きしたいです。

4

10 に答える 10

10

Webサイトで多くのJavaScriptを使用することの欠点は何ですか?

  • HTTPオーバーヘッド
  • 保守性が低い

そのプロジェクトにMooToolsまたはjQueryを使用するのはなぜですか?

特定のもののための特定のフレームワークがあります。たとえば、 Ext JSを例にとると、サイトが必要とするすべてのものを網羅しようとします。これはjQueryが行うことではありません。

于 2009-10-06T10:14:54.493 に答える
6

これは、ブラウザー (およびバックエンド) と、多くのスクリプトへのスケーリングをどのように実行するかによって異なります。ソリューションを開発するときは、まず対象者の要件について考えてください。彼らは、超高速光ファイバー リンクまたは GPRS リンクを備えた小型電話でクアッド コア モンスターを実行する予定ですか。次に、これらのニーズを満たすテクノロジを決定します。

最初にテクノロジーから始めないでください。

于 2009-10-06T10:03:54.403 に答える
2

あなたの質問から、いくつかの問題が思い浮かびます。

  • 小さなスクリプトファイルがたくさんあると、パフォーマンスの問題になる可能性があります。多くの異なるスクリプトを使用する場合は、それらを1つのスクリプトファイルに結合します(そして、それを縮小してgzip圧縮で提供します)。非公式のPrototype&script.aculo.us wikiにこれに関連するヒントがあります(開示:私はほとんどそのヒントを書きましたが、賢い人々からの多くのインプットがあります)。また、CDNを活用できるかどうかも確認してください(たとえば、ほとんどのフレームワークはGoogle CDNを介して利用できるようになりました)。
  • 同じサイトに多くの異なるフレームワーク(jQuery、Prototype、MooTools、YUIなど)があると、スキルの問題になる可能性があります。サイトで作業する人は、さまざまな異なるフレームワークのスキルを持っている必要があります。
  • 一部のフレームワークは相互に互換性がありません(たとえば、PrototypeとMooToolsが現在ページ上で共存できるとは思えません。jQueryとPrototypeはjQueryの「競合なし」モードを介して共存できます)。

単一のフレームワークを選択するという観点から、何をしようとしているのかを見てください。一部のフレームワークは、他のサイトよりも一部のサイトに適しています。また、開発者がすでに持っているスキルセットも見てください。新しいことを学ぶ必要が少ないほど、サイトの構築に多くの時間を費やすことができます。フレームワークの周りのコミュニティを見てください。プラグインの可用性を検討してください(ただし、低品質のプラグインはたくさんあります。量だけで判断しないでください)。フレームワークのAPIが物事へのアプローチにうまく適合しているかどうかを確認してください。

于 2009-10-06T10:11:38.353 に答える
2

複数のライブラリを使用することには、いくつかの欠点が考えられます。

  1. 初期読み込み時間:ファイルサイズに少し注意する必要があります。たとえば、使用しているカレンダーが機能するためにまったく別のライブラリを必要とする場合、jQueryバージョンだけを使用していない理由を疑問視する必要があります。
  2. クライアントのパフォーマンス:クライアントのコンピューターに多くの処理をオフロードしているため、古いマシン/ブラウザーは特に集中的なスクリプト作成に苦労します。ただし、これはターゲットオーディエンスを知ることの問題です。モンスターPCを使用する技術者を対象としている場合は、重いスクリプトを使用する必要があります。
  3. 競合:あなたが言うように、異なるライブラリの関数間で競合が発生する可能性があります。これを回避する方法はいくつかありますが、そもそもなぜ自分自身に問題を与えるのですか?

結局のところ、これらのライブラリはすべて、JavaScriptを作成するための異なる方法にすぎません。自分に合ったライブラリを選んでください。あなたが最も速くそして最小のエラーで仕事を成し遂げることを可能にするもの。

于 2009-10-06T10:12:36.173 に答える
0

1つの側面は、ロードに時間がかかる可能性があることです。インクルードファイルまたはリンクファイルにスクリプトがある場合、ロード時間とより多くのHTTPリクエストが必要になります。

また、スクリプトが増えると、クライアントコンピューターの速度が低下する可能性があります。現在、多くのユーザーが一度に複数のページまたはタブを開いています。重くて遅いために他のページを同時に開くと、ベースレベルのコンピューターで物事が不安定になる場合は、Webサイトが少し過剰になっている可能性があります。

そして最後に、ユーザーがjavascriptを持っていない場合、またはそれがオフになっている場合はどうなりますか?それはあなたのサイトを完全に壊しますか?

于 2009-10-06T10:15:00.693 に答える
0

また、一部のユーザーがJavascriptを無効にしている可能性があることを忘れないでください。そのため、Webサイトに必要な機能(メニュー、ナビゲーション、フォームなど)の一部をJSベースにすると、それらのユーザーはサイトを表示できなくなります。

于 2009-10-06T10:17:17.897 に答える
0

大量の JavaScript ファイルを使用しても問題はありません。HTTP リクエストを最小限に抑えるために、いつでもすべてをマージできるからです。もちろん、すべての JavaScript を実行するには、ブラウザーの時間がかかります。これらすべての JS ライブラリ/プラグイン間または DOM 内で競合が発生する可能性もあります。

適切なライブラリの選択に関しては、作成しているサイト/アプリケーションの種類によって異なります。事前に作成されたプラグインを使用したいだけの場合、使用するライブラリに大きな違いはありません。使用したいプラグインがより多く含まれているライブラリを選択する必要があります。jQuery が最適であると確信しています。全体的に最もプラグインが多いため、ここで選択します。

一方、独自のコンポーネント/プラグイン/コードを作成する場合は、それぞれをテストして、コーディング スタイルとプロジェクトに最適なものを確認する必要があります。たとえば、しばらく前に、Prototype の方が自分の好みに合っていることがわかりました。JS を多用する大規模なプロジェクトには非常に適しています。しかし、jQuery はそれ以来長い道のりを歩んできたので、新しいプロジェクトを作成する必要がある場合は、おそらく最も人気のあるライブラリをそれぞれ試してみます。

于 2009-10-06T10:24:47.320 に答える
0

答えは明らかです。JavaScript の数が多いほど、パフォーマンスのオーバーヘッドが大きくなります。ファイルの構造によっては、HTTP リクエストの増加、ロードするデータの増加、解析するコードの増加などを意味する場合があります。回避できる場合は、適切なフレームワーク (jQuery など) を選択して、それを使い続ける必要があります。それらを混ぜ合わせます。

パフォーマンスはさておき、複数のフレームワークは、メンテナンスしにくいコードも意味します。これは、メンテナーが各フレームワークを操作できるようにするには、各フレームワークに精通している必要があるためです。

jQuery のような一般的なフレームワークを Raphael のようなより具体的なフレームワークと一緒に使用するなど、おそらくいくつかの例外がありますが、通常はプラグインによって解決されます。

于 2009-10-06T10:07:38.510 に答える
-1
  • 対象となる消費者の 99% がブラウザで JavaScript を有効にしておらず、Web サイトに大量の JavaScript コードを記述している状況を考えてみてください。
  • また、JavaScript は非常に低い優先度でクライアント マシン上で実行されるため、Web サイトのパフォーマンスが低下する可能性があります。

そしてもう一つ

  • JavaScriptはインタープリター型言語であるため、すべてのJavaScriptコードが公開されます
于 2009-10-06T10:19:02.730 に答える