web-dev-qa-db-ja.com

Douglas CrockfordがjQueryはスケーリングしないと言ったときの意味を教えてください。

this talk のQ&Aセクションで、Douglas Crockfordは、jQueryは他のいくつかの一般的なライブラリと同じように拡張できないと述べています。彼はそれによって何を意味し、それらをよりスケーラブルにする他のライブラリについては何ですか?

32
MatrixFrog

あなたがビデオを見るならば、彼はjQueryについて正式に話しません。プレゼンテーション終了後の誰かからのややオフトピックな質問への迅速な対応です...プレゼンテーションの最後、約1:29。

彼はjQueryについて多くの良いことを言っています。それがうまくスケーリングしない部分について、彼はjQueryが非常に複雑なアプリケーション(YUIのような他のものと比較して)に対してはあまりうまくスケーリングしないと考えていると彼は言います。 。

41
jon

ビデオを見ずに言うのは難しいですが、それは jQuery がJavaScriptプログラミングを容易にする他のほとんどのライブラリのすべての機能を提供していないためだと思います。 jQueryの目的は [〜#〜] dom [〜#〜] 操作を [〜#〜] css [〜#〜] セレクターを介して要素のアドレス指定を簡略化することで簡単にすることです、およびこれらの要素を変更するための簡単なフレームワークを提供します。 Ajax リクエスト、基本的なイベント管理、テンプレート化、その他の基本的な機能など、他のいくつかの機能を提供しますが、それだけです。

PrototypeMooToolsExt JS および Dojo などの他のライブラリは、を提供しますオブジェクトの作成、配列とコレクションの管理、文字列の操作、およびプログラマーが実行できると期待している他のすべての重要な処理を実行するための他の機能のload

つまり、jQueryには、大規模なJavaScriptアプリケーションに必要なツールが不足しています。このため、jQueryを使用してJavaScriptの負荷が非常に高いサイトを見つけることはほとんどありません。たとえば、Mint.comは [〜#〜] yui [〜#〜] に基づいて構築されています。 Appleの MobileMe Webサービスは SproutCore で実行されます(AppleのメインサイトはPrototypeを使用しています)。

少なくとも、それは私が考えるという意味です。

3
ChiperSoft

jQueryでは、たとえば MooTools のような多くの再利用はできません。

これは哲学/設計上の決定です。jQueryは、Fire-and-Forgetシナリオ用の多くのコードではありません。

nobtrusive JavaScript エクスペリエンス(通常はページ拡張のみ)を構築している場合、これは非常にうまく機能し、コードはほとんど必要ありません。ビルドするとき Google Docs ...それほど多くはありません。他のプロジェクトが継承、インターフェースのようなメカニズムなどのように公開しているより多くのOOP概念が必要です...

2
Cohen