8

最後に、 jQueryがJSライブラリのデファクトスタンダードになりつつあるように感じています(私は間違っているかもしれません!)、または少なくともそれは他のフレームワークよりもアクティブです。

たとえば、Componenteのような優れたオープンソースカレンダーを探していて、jQueryに基づくhttp://fullcalendar.vinsol.com/を見つけました。

Prototypeは、セレクター機能($主にのショートカットとして機能document.getElementById)、ページの読み込み時にJSの一部を実行する、非常に単純なAjax呼び出しを発行するなど、ごくわずかな目的で使用しています。

したがって、移行は非常に簡単なはずですが、PrototypeからjQueryへの移行の長所と短所を知りたいと思います。

一方で、特に移行が非常に簡単であることを考慮すると、両方を一緒にすることは良い選択ではないと思います。私は正しいですか?

編集:いくつかの有用なリソース:

4

8 に答える 8

9

プロトタイプとJQueryは非常によく似たフィールドをカバーしています。私はプロトタイプをメインのJSフレームワークとして長年専門的に使用しており、JQueryに移行しています。理由は次のとおりです。

  • JQueryの方が高速です。プロトタイプは、私が見たすべてのパフォーマンス比較で最後になります(ここでランダムに選択します)。私はまた、特に古いマシンでは、プロトタイプの効果が全体的に遅いという長年の主観的な印象を持っています。

  • JQueryは、Stack Overflowだけでなく、StackOverflowでも人気があるようです。つまり、サポートを受けるのがはるかに簡単であり、利用可能なプラグインと既製のコードの数がはるかに多くなります。それが私の主な理由ではありませんが、jQueryがより技術的に健全なプラットフォームであるという全体的な印象とともに、選択が明らかになりました。

私の唯一の嫌いなものは:

  • JQueryコードはひどく見える傾向があります。私はJQueryとその哲学がとても好きですが、コードを見るのは嫌いです。普通のバニラJavaScriptのように美しく構造化されたJQueryの方言を誰かが思いついた場合、私は喜んで参加します。:)

コメントについて: jQueryのコーディングスタイルについて私が気に入らない点についての追加の説明。

一言で言えば:ブラケット。数千と数千:)

でも真剣に。「jQueryスタイル」と見なされるものの多くは、完全にオプションで使用できるショートカットと省略形であることに気付きました。それでも、コードの可読性と保守性の観点から、jQueryコードの大きなチャンクを読んで理解するのははるかに難しいと思います。はい、それはjQueryの経験が増えるにつれてはるかに簡単になりますが、私は自分のコードを完全な部外者にも読めるようにしたいと思っています。それに関して、jQueryは正しい方向のIMOに進んでいません。コードの多くは明らかに醜いです。これまでのところ、この素晴らしいフレームワークに対する私の唯一の主要な批判です。

しかし、メソッドチェーン、@ noah、そして新しいもの.delay()やその名前が何であったかなど、私は完全にロックだと思います。私はそれに対して何も言っていません。

于 2010-04-01T15:21:36.207 に答える
6

私の知る限り、PrototypeとjQueryはほとんど重複していますが、jQueryは主にDOM操作、ajax、イベントなどに焦点を当てており、クラスや継承など、Prototypeが持つ機能の一部を実際には備えていません。これらのものを必要とせず、クロスブラウザーDOM操作、ajax、イベントなどのフレームワークのみが必要な場合は、jQueryが最適な方法だと思います。

于 2010-04-01T15:16:59.807 に答える
4

質問に直接答えるには:はい、切り替える必要があります。そして、はい、あなたは正しいです。

角かっこが気に入らないとおっしゃっていましたが...美しいと思われるプロトタイプコードのスニペットを提供できますか(jQueryを使用します-比較のためにサイズを変更します)。

于 2010-04-01T16:48:57.100 に答える
4

両方を一緒に使用できます。jQuery.noConflict();jQueryがロードされた後に呼び出すだけです。jQuery("whatever")次に、の代わりに書き込む必要があります$("whatever")。プロトタイプは、jQueryにはない多くの機能を提供します。

ただし、プロトタイプは途中です。jQueryは今や王様であり、かなりの理由があります。最新のプラグインとウィジェットが必要な場合は、jQueryにそれらが用意されています。

Underscore.jsは、オブジェクトプロトタイプやグローバル名前空間をいじることなく、Prototypeとほとんど同じ機能を提供します。アンダースコアとjQueryを使用すると、Prototypeからの移行が非常に簡単になります。

于 2010-04-01T15:19:00.020 に答える
2

私は2006年からPrototypeを使用しており、醜いコードに対するPekkaの気持ちを反映しています。プロトタイプはよりエレガントです。

私はPrototype(+ Scriptaculous)コミュニティの強力なサポーターでしたが、悲しいことに、Prototypeはマインドシェアとマーケットシェアを失っています。キャリアは、プロトタイプではなく、jQueryを知っていることに基づいて構築できます。

jQueryの人々は、プラグインがどのように機能するかを知らなくても、プラグインを使用する方が幸せなようですが、プロトタイプの人々は、よりハードコアなプログラマーであり、必要なものを自分で構築する傾向があります。

そうは言っても、jQueryへの移行はそれほど苦痛ではありませんでした。機能はほとんど同じですが、名前が異なります。より多くのドキュメントとサンプルコードが利用可能であり、簡単に入手できます。

フレームワークはターゲットを動かしており、速度と機能の点で互いに飛躍することがあります。すべてが改善し続けています。XはYよりも優れていると言うことは時間とともに変化します

Prototypeの節約の恩恵はScripty2かもしれないと思います。これは、プロトタイプを使用した驚くべき新しいアニメーションエンジンです。それが流行した場合(そして市場に出た場合、ベータ版でもありません)、プロトタイプへの関心が復活する可能性があります。それを超えて、私はそれが常にその支持者を持っていると思いますが、主流から消えていくでしょう。

于 2010-04-01T15:57:33.823 に答える
2

別の仕事を取得したい場合は、JQueryに移動してください。美しく直感的なJavaScriptスティックとprototoypeが気になる場合は、消えることはありません。

于 2010-04-02T00:51:24.933 に答える
0

MicrosoftがそれをASP.NETAjaxFrameworkに統合したという事実は、jQueryの世界を物語っていると思います。私の現在の雇用主は昨年それを標準化しました、そして私は特にjQueryと他のライブラリを求めるより多くの求人情報を見つけることができます。

于 2010-04-01T16:13:15.353 に答える
0

私はあなたがすべきだと思います。私はjqueryを忠実に使用しており、JavascriptProではありません。それは使いやすさだと思いますが、それについて最も強力なことの1つです。

于 2010-04-01T17:03:44.327 に答える