ZeptoとjQuery2の違いは何ですか?


81

これらの2つの同様のプロジェクトがあります:

Zepto.js

Zeptoは、主にjQuery互換のAPIを備えた最新のブラウザ用の最小限のJavaScriptライブラリです。

jQuery 2.0

jQuery 2.0ベータ版:これが将来の好みです。IE6、7、または8をサポートしなくても高速かつ小型にできるjQueryです。プラットフォーム固有のHTMLアプリケーションに最適です。

これはパフォーマンスだけですか、それとも異なるアプローチに従いますか?



37
これは、特定のプログラミングの問題について、役立つ、興味深い、関連性のある質問です。なぜ閉鎖されたのですか?それは「どちらが良いか」ではなく、「使用する際の注意点は何
ですか

回答:


52

Zepto.jsとjQueryの主な違いは、それぞれのファイルサイズがjQueryの〜80kbではなくZepto.jsの〜20kb(縮小、gzip圧縮ではない)であり、jQueryの〜30kbではなくZepto.jsの〜10kb(縮小化、Gzip圧縮)です。さらに、ZeptoのブラウザのサポートIE<10は、不足しているか保証されていないため、ターゲットプラットフォームは次のとおりです

  • Safari 5+(デスクトップ)
  • Chrome 5+(デスクトップ)
  • Mozilla Firefox 4+
  • iOS 4+ Safari
  • Android2.2以降のブラウザ
  • その他のWebKitベースのブラウザー/ランタイム
  • webOS1.4.5 +ブラウザ
  • BlackBerry Tablet OS1.0.7 +ブラウザ
  • Amazon Silk 1.0+
  • Opera 10+
  • Internet Explorer10以降

14
両方をgzipで圧縮して縮小した場合、jquery 2は約30kb、zeptoは約10kbです。gzipで圧縮されていない場合、jquery 2はまだ約80kb、zeptoは約30kbです。
アスパラギン2013年

-1。アスパラギンが指摘しているように、MHDの数値は正しくありません。彼の答えは有効です。
ジェイソン

4
ZeptoとjQueryはどちらもカス​​タムビルドをサポートしているため、どちらのキッチンシンクサイズもそれほど重要ではない可能性があります。違いは、jQueryのサポートとパフォーマンスが向上し、更新頻度が高くなり、コミュニティがより活発になることです。Zeptoの魅力は、Zeptoが埋められたギャップをカバーするjQuery2.0によって大幅に減少します。
John-David Dalton

23

両方をgzipで圧縮して縮小した場合、jquery 2は約30kb、zeptoは約10kbです。gzipで圧縮されていないが縮小されている、jquery 2は約80kb、zeptoは約30kbです。

分析プログラムを使用して、サイトのオーディエンスを確認します。ユーザーのかなりの部分がIE9を使用している場合は、jqueryが必要であり、zeptoは機能しません。数パーセント以上がIE8以下を使用していて、サイトなしでそれらを取り残してしまうことに直面できない場合は、jquery 1を使用する必要があります。最後の1つをターゲットにしている場合は、申し訳ありません。新しい光沢のあるおもちゃがたくさんあります。あなたのために動作しません。

android / ios / phonegapなどのhtml5アプリを構築している場合は、主にWebkitを対象としているため、zeptoを使用するとサイズを大幅に節約できます。zeptoが存在する主な洞察と理由は、Webkitのみのプラットフォームで実行する場合、jqueryのクロスプラットフォームの回避策の多くが単に不要であるということです。

Zeptoは、モバイル開発を支援するためにいくつかのタッチイベントハンドラーも追加しますが、それは主にページの重みとプラットフォームのサポートについて考慮する必要があります。


1
おそらく、いずれかのプラットフォームを選択した場合、クロスプラットフォームの回避策は不要です:)
Rob Grant

Zeptoは約25kbに近い;)。また、必要な最小サイズにライブラリを再パッケージ化するためのビルド手順があります。
ジェイソン

gzipで圧縮されていないが縮小されたビルドについて話していると思います。これは、私がこれを書いてから8か月間で実際には数kb以上変動していません。だから... 25kbは〜30kbです:P
アスパラギン

14

これは少し古い質問ですが、パフォーマンスを追加したいと思います。私が聞いたところによると、ZeptoはjQueryよりもパフォーマンスが優れていました。

このjsPerfはさまざまな結果を示しています。Zeptoと比較して、jQueryの(単一要素の)クラス選択を137%頻繁に使用できます。IDの選択には、jQueryの285%を頻繁に使用できます。

これは、ほとんどのアプリケーションで考えると非常に大きな問題です。重要なパフォーマンス統計はDOMの相互作用だけです(ネットワーク要求を除く)。

また、そのパフォーマンスを見ると、jQueryと同じくらい頻繁にdocument.getElementsByClassNAme 8326%を実行できることがわかります。したがって、可能であれば、これらすべてを破棄する必要があります:-)


3
それはZurbの人たちが言うことではありません。彼らがCSSフレームワークからZeptoを削除した理由の1つは、Zeptoのファイルが小さくても、jQueryがZeptoを上回っていたためです。他の理由は、多くのプラグインがjQuery用に作成されたためです。彼らのブログ投稿をチェックしてください:zurb.com/article/1293/why-we-dropped-zepto
Ricardo Zea

2
@ricardozea、この回答とその記事は同じことを言っています:jQueryはセレクターでより高速です。ただし、明確にするために、ライブラリを完全にテストするには約100 jsperfsが必要です。次に、統計学者を雇って、平均的なサイトと平均的なユーザーのどちらが平均して速いかを判断します。
山賊2014

1
あなたが言っているのは、「... ZeptoはjQueryよりもパフォーマンスが優れている」ということです。はい、jQueryの方が高速であることに同意します。
リカルドゼア2014

1
いいえ、そうです:-)それは私が言われたことです。私の発見は、jQueryの方が高速であるということでした(少なくともセレクターを使用した場合)。
山賊2014


3

ウェブへの迅速な移行にゼプトを使用したことは一度もないと思います。彼の氷の洞窟の奥深くで、賢明で強力なイエティは人々が「ゼプトはどこに行ったのか」と尋ねるのを聞きました。Foundation 4が考案されていた頃、ファイルサイズが小さく、読み込み時間が速いため、Zepto(jQueryオプション付き)に切り替えました。

しかし、時間の経過とともに、ファイルサイズを小さくしても、全体的なパフォーマンスが向上しないことがわかりました。確かに、Zeptoはすぐにダウンロードされました。しかし、一度ロードされると、jQueryほど高速ではありませんでした。多くのサードパーティプラグインがZeptoではなくjQueryを必要としていたことは役に立ちませんでした。実際、一部のサードパーティJavaScriptがZeptoと完全に競合していることがわかりました。

異なるコードベースを維持することも私たちにとって簡単ではありませんでした。たとえば、Zeptoには適切な高さ計算機能がないため、特定のグリッド計算が困難になります。

これらすべてを解決するために、答えはヒマラヤの春の空として明確でした。Foundation5はjQuery 2を使用しています。速度と業界での受け入れが向上するだけでなく、jQuery2はドキュメントとサポートの向上からも恩恵を受けています。jQueryはAPI互換です。

****

ただし、ZeptoはjQueryよりも高速であると想定しました。同じ仮定を2回行いたくなかったので、ZeptoとjQuery 2をテストしました。結果:jQuery2の1秒あたりの操作数は多くなります。これにより、Foundation 5のパフォーマンスが向上し、すべてのユーザーのエクスペリエンスが向上します。

****

最終的には、人々が優れた製品をより迅速に設計できるように支援したいと考えています。今回は、世界で最も応答性の高いフロントエンドフレームワーク自体の速度を向上させることを意味します。


パフォーマンスが非常に心配な場合、なぜjQueryを使用しているのですか?確かに、jQueryのパフォーマンスはZeptoよりも優れていますが、jQueryのパフォーマンスはVanillaJSに比べて劣っています。基本的に、VanillaJSはjQueryのより優れたバージョンです。高性能に最適化された関数の膨大なライブラリがフェザーライトパッケージにまとめられていると想像してみてください。それがVanillaJSの力です。試してみることを強くお勧めします。
ジャックギフィン

1

私が読んだことから、人々はゼプトに大きく傾いているようです。その背後にある最も一般的な理由はファイルサイズですが、jQuery 2は、ロードされた後、実際にはZeptoよりも高速です。また、ほとんどの人がjQueryを中心に開発しているため、Zeptoのサポートはあまりありません。Zeptoを使用すべきではないことを示唆しているわけではありませんが、Zeptoを使用する理由と、使用している他のJavaScriptライブラリがサポート/競合しているかどうかを調べる必要があります。

それはあなたのプロジェクト次第だと思います。個人的または限定的な使用には、Zeptoがより良いオプションかもしれません。ただし、jQueryは他のライブラリによってはるかにサポートされており、ファイルサイズが理由を決定する唯一のものである場合は、欠陥があります。JavaScriptはページの読み込み後に読み込まれる必要があるため、どちらの場合もページの読み込み時間を妨げることはありません。

これは、jQuery 1.7.2、Zepto 1.0rc1、およびjQMobi1.03を含むパフォーマンステストです。

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