jQueryがスケーリングしないと彼が言うとき、Douglas Crockfordはどういう意味ですか?[閉まっている]


32

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


JavaScriptののredditでこののより多くの議論:reddit.com/r/javascript/comments/h21vr/...
MatrixFrog

ビデオ全体を見ることなく、jQuery を単独で使用しても、単一ページのアプリケーションにうまく拡張できないと言えます。理由は、コードを整理するためのモデルビュー何かフレームワークを取得しないからです。ただし、jQueryをBackbone.jsKnockout.jsSammy.jsなどの構造フレームワークと組み合わせると、非常にうまく拡張できます。
user16764

話を見ていないが、ここでの私の2cは、獣のプラグイン中心の性質と依存関係をロードするためのガイダンスとツールの欠如と相まって、チームの誰かが必要とするjQueryプラグインスープを持っているアプリにつながることです特定のタスクのためのプラグイン、プラグインはアプリ全体に含まれ、最終的にアプリ全体で342種類のjqueryプラグインをロードすることになります。それは一種の獣の性質です-それは、grockする大きな上流概念を持たないという犠牲を払って、小規模のものを容易にするように設計されています。
ワイアットバーネット

4
4つの回答のうち3つが「ビデオを見たことがない」のバリエーションから始まるのは興味深いです。ビデオを視聴せずに、クロックフォード氏が何を意味したのかを正確に明確にするにはどうすればよいですか?
コービン

まあ、彼はあまり言わなかった。回答者の一人が言ったように、それは最後のQ&Aセクションでのちょっとした発言でした。しかし、あなたは良い点を挙げています。
MatrixFrog

回答:


41

ビデオを見ると、彼はjQueryについて正式に語っていません。これは、プレゼンテーション後の誰かからのやや話題の質問に対する迅速な応答です。プレゼンテーションの最後、約1:29分。

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


29
応答を投稿する前に実際にビデオを視聴した場合は+1。(-:
KM。11年

3

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

PrototypeMooToolsExt JSなどの他のライブラリ道場を提供負荷、オブジェクトの作成配列&コレクションを管理し、文字列を操作して、我々はプログラマが行うことができることを期待していることを他のすべての核心物事を行うための他の機能を。

つまり、jQueryには、大規模なJavaScriptアプリケーションに必要なツールが欠けています。この理由から、jQueryを使用してJavaScriptが非常に多いサイトを見つけることはほとんどありません。たとえば、Mint.comはYUI上に構築されています。りんご MobileMe WebサービスはSproutCoreで実行されます(AppleのメインサイトはPrototypeを使用しています)。

少なくとも、それ彼が意味することだと思う


1
ふむ 私はjQueryにはかなり精通していますが、YUIやその他のJSフレームワークにはまったく精通していません。だから、大規模でスケーラブルなWebアプリを構築するためにYUIやPrototypeなどについて何が良いのかと尋ねるべきだったのでしょうか?jQueryにはないものを尋ねる代わりに...
MatrixFrog

6
「jQueryを使用して非常にJSの重いサイトを見つけることは非常にまれです」....準備中に、YUIで必要なファイルが10 MB未満になるように調整できますか?
ケン

@ken YUIライブラリ全体をページにロードしている場合、間違っています。Yahooがダイナミックローダーを提供する理由があります。そして、私の評価に同意できない場合は、反対の例を提供してください。jQuery上に構築された大規模なアプリケーションを見せてください。
ChiperSoft

4
「大規模」を定義します。SEスタックはjQueryを使用します。
ケン

SEは主にJS駆動型ではなく、ほとんどの人がjQueryを使用する方法であるjQueryを使用します。基本的なイベントバインディング、単純なAJAX要求、DOM操作です。大規模とは、完全にJSで構築されたアプリケーション全体を意味します。非ページベースのサイト。私たちは上記のようなもの(Mint.com&MobileMe)、Cloud9 Editor、gMail、Mockingbirdについて話している。社内で作成された1MB以上のJSコードであるサイト。
ChiperSoft

2

jQueryでは、たとえばMooToolsのような多くの再利用は許可されていません。

それは哲学/設計上の決定です。jQueryは、忘れがちなシナリオのための多くのコードではありません。

控えめなJavaScriptエクスペリエンス(通常はページの強化のみ)を構築する場合、これは非常にうまく機能し、コードはほとんど必要ありません。Googleドキュメントを作成するときは、それほど多くはありません。他のプロジェクトが継承、インターフェースのようなメカニズムなどのように公開する、より多くのOOPコンセプトが必要になります。

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