web-dev-qa-db-ja.com

新しいプロジェクト用のprototype.jsまたはjQueryですか?

新しいプロジェクトにprototype.jsまたはjQueryを使用する必要がありますか? Railsにはprototype.jsが付属していますが、jQueryは世界中の選択肢として最適なライブラリのようです。 prototype.jsはまだ活発に開発されていますか?少しほこりっぽい...

7
Aaron

それは主に好みの問題です。 Prototypeがオブジェクトを拡張する方法が気に入らない人もいますが、基本的な使用についてはかなり同等です。

プロトタイプはまだ活発に開発されています-彼らはほんの数ヶ月前に次のリリースのリリース候補を出しました。

6
Matthew Shanley

プロトタイプに対しては何もありませんが、プラグインの量やjQueryほどのコミュニティはありません。

JQueryには、ほとんどすべてのプラグインがすでに存在するため、最終的にjsの記述が少なくなります。

8
corymathews

他のライブラリよりもjQueryを使用する理由:

高速かつ軽量
jQueryは、マイナーリビジョンレベルのリリースでも、ライブラリのパフォーマンスを向上させ続けます。彼らが1.4.2をリリースしたとき、そのリリースに関する Ajaxianブログ投稿 で示されているように、ライブラリの速度は1.4.1からも大幅に増加しました。 1.3と比較した1.4のパフォーマンス分析は、jQueryチームによって 1.4のリリース発表 で行われ、1.4が最も頻繁に使用される領域で重度最適化されたこと、およびパフォーマンスも全面的に向上しました。

人気
jQueryは、Prototypeの6、MooToolsの3、Dojoの1と比較して、Alexaディレクトリの上位2000のWebサイトのうち48で提供されています。

Built Withの Javascript Distrobution は、jQueryがインデックスサイトの40%以上で使用されていることを示しています。 Built Withの jQuery Usage Statistics show Top 10,000の32%サイト、Top 100,000の23%サイト、およびTopの15% jQueryを使用したインデックス内の1,000,0サイト。 比較 これを プロトタイプ のカテゴリのそれぞれ5%、4%、2%に変換します。また、jQueryの使用量はすべて着実に増加傾向にありますが、Prototypeの使用量はすべて減少傾向にあります。

積極的に(そしてインテリジェントに)開発された
3月、jQueryはブログに投稿しました MicrosoftはjQueryコミュニティとのコラボレーションを拡大します 。投稿から:

JQueryプロジェクトは、Microsoftがコードイニシアチブ、製品統合、追加リソースの割り当てを含む新しいイニシアチブを通じてjQuery JavaScriptライブラリのサポートを拡大していることを発表することに興奮しています。

...

Microsoftは、Visual Studio 2010とASP.NET MVCの両方でjQuery JavaScriptライブラリの最新リリースを出荷し、Microsoft CDNでライブラリの現在のバージョンをホストし続けます。

マイクロソフトは現在、jQueryコードベースへの積極的な貢献者のコミュニティに含まれています。 Microsoftには非常に賢い開発者がいます。また、MicrosoftはjQueryに財政的に貢献しています。 Microsoftにはたくさんのお金があります。また、Visual Studioを使用する開発者にjQueryを即座に公開します。また、MicrosoftはASP.NETで具体的に jQueryの統合を改善する

また、ASP.NET AJAXがjQueryとシームレスに連携するように設計された方法、ASP.NET AJAXコントロールをjQueryから直接作成する方法、およびASPでjQueryライブラリを使用する方法も学びます。 NET AJAXコード。

MicrosoftによるjQueryの使用に関する詳細は、Scott GuthrieのASP.NETブログ投稿 jQuery and Microsoft にあります。

jQueryのソースコード はGitHubで公開されています。私はGitを他のSCMシステムよりも好むので、個人的にはプラスです。

jQueryの Sizzle セレクターエンジンは素晴らしいです。また、jQueryが単独で作業しているわけではないので、素晴らしいです。 v1.3のリリースを発表するブログ投稿 昨年の初めに、彼らは基本的に「私たちは他の誰よりも賢くはないことを知っており、私たちは彼らよりも優れていると言うよりも人々。」

新しいエンジンの開発中に非常に明白になったことが1つあります。他のライブラリや開発者と協力できるようにしたかったからです。優れたJavaScript開発者との強固なコラボレーションの機会がありました。その結果、すべてのライブラリのユーザーを支援します。このため、Sizzleが完全にスタンドアロン(依存関係なし)で動作できることを確認しました。

さらに、誠意と協力意欲の表れとして、Sizzle to the Dojo Foundationにソースコードをリリースしました。私たちは、誰もが一緒に仕事をすることができ、明確な長期著作権者がいる共通の会議場を望んでいました。

現在、SizzleでPrototype、Dojo、Yahoo UI、MochiKit、TinyMCE(およびその他多数)と連携して、完璧に仕上げています。

モバイルサポート
YayQueryポッドキャスト、 エピソード18(mp3) では、John ResignがjQueryのモバイルサポートの計画の概要を説明しています。基本的なjQueryライブラリは、専用のモバイルバージョンを作成するのではなく、モバイルデバイスと互換性がある必要があるという哲学です。これの多くの利点の1つは、プライマリライブラリが一般的なWebサイトとモバイルWebサイトで使用されるため、キャッシュされる可能性が高くなり、モバイル固有のWebサイトは非モバイルWebサイトと同じキャッシュバージョンを使用できることです。ジョンはまた、どの電話とオペレーティングシステムがサポートされる予定かを正確に説明しています。

jQueryを PhoneGap と組み合わせて使用​​すると、モバイルデバイス用のWebテクノロジーを使用してネイティブアプリケーションを作成できます。また、iPhoneおよびその他のモバイルブラウザー用のネイティブのようなWebアプリを構築するための JQTouch というプラグインもあります。これは、jQueryで使用できるすべてのショートカットが他のプラットフォームに変換され、学習曲線が短縮されることを意味します。

開発コミュニティで活動中
John Resigはアクティブです スピーカー 。彼は主要な会議やイベントだけでなく、 YayQuery のようなポッドキャストで appeared も持っています。彼は2冊の本も書いています: Javascript Ninja と Pro Javascript、どちらもjQuery専用ではない純粋なJavascriptスキルについてです。

3
Bryson

仕様に最も適したものを使用してください。 jQueryは活発な開発中の優れたライブラリであり、素晴らしい(そして大きな)コミュニティが支持されており、私の個人的な選択のライブラリですが、仕事にふさわしいツールであればPrototypeの使用を思いとどまらせないでください。

2
Jason

それは本当に好みの問題です。私は個人的にjQueryを好みます。十分に文書化されており、多くの優れたプラグインがあり、私の生活をずっと楽にします。 Prototypeの人々から、そのサイズとパフォーマンスについて苦情を聞きました(申し訳ありませんが、特定の問題は覚えていません)が、これらの側面はどんどん良くなっています。

両方を試してみて、どちらがより適しているかを確認します。

2
tghw

それはあなたが好むものに本当に依存します。ただし、jQueryのフォローは大きいようです。そのためのリソースは簡単に手に入るかもしれません。

Googleのサーバーからホストされることと、MSのサーバーからホストされるjQueryの両方を取得できると思います。

1
Macha

Google CDNを介してホストされるjQueryは両方を開くと思います。

0
Maslow

それは明らかに好みの問題です。特に非同期の競合状態が発生した場合、連鎖は実際には直感的ではないため、jqueryは初心者にとっては少しわかりにくいことがわかりました。ただし、jqueryには確かにより多くのプラグインがありますが、それはあまりにも多くのプラグインが自動的にロードされる場合にも不利になる可能性があります。

0
txwikinger

表面的には好みに基づいていますが、ライブラリ、プラグイン、jQueryまたはPrototypeを使用して達成したいもののサンプルを検討することを検討してください。たとえば、新しいRailsプロジェクトでは、すべてのAJAXがデフォルトでプロトタイプを使用して実行されます。また、jQuery UIまたはjQTouch(モバイル)を使用する場合は、jQueryをお勧めします。

0
Steve Tranby