これらの2つの同様のプロジェクトがあります:
Zeptoは、主にjQuery互換のAPIを備えた最新のブラウザ用の最小限のJavaScriptライブラリです。
jQuery 2.0ベータ版:これが将来の好みです。IE6、7、または8をサポートしなくても高速かつ小型にできるjQueryです。プラットフォーム固有のHTMLアプリケーションに最適です。
これはパフォーマンスだけですか、それとも異なるアプローチに従いますか?
これらの2つの同様のプロジェクトがあります:
Zeptoは、主にjQuery互換のAPIを備えた最新のブラウザ用の最小限のJavaScriptライブラリです。
jQuery 2.0ベータ版:これが将来の好みです。IE6、7、または8をサポートしなくても高速かつ小型にできるjQueryです。プラットフォーム固有のHTMLアプリケーションに最適です。
これはパフォーマンスだけですか、それとも異なるアプローチに従いますか?
回答:
Zepto.jsとjQueryの主な違いは、それぞれのファイルサイズがjQueryの〜80kbではなくZepto.jsの〜20kb(縮小、gzip圧縮ではない)であり、jQueryの〜30kbではなくZepto.jsの〜10kb(縮小化、Gzip圧縮)です。さらに、ZeptoのブラウザのサポートIE<10
は、不足しているか保証されていないため、ターゲットプラットフォームは次のとおりです。
両方を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は、モバイル開発を支援するためにいくつかのタッチイベントハンドラーも追加しますが、それは主にページの重みとプラットフォームのサポートについて考慮する必要があります。
これは少し古い質問ですが、パフォーマンスを追加したいと思います。私が聞いたところによると、ZeptoはjQueryよりもパフォーマンスが優れていました。
このjsPerfはさまざまな結果を示しています。Zeptoと比較して、jQueryの(単一要素の)クラス選択を137%頻繁に使用できます。IDの選択には、jQueryの285%を頻繁に使用できます。
これは、ほとんどのアプリケーションで考えると非常に大きな問題です。重要なパフォーマンス統計はDOMの相互作用だけです(ネットワーク要求を除く)。
また、そのパフォーマンスを見ると、jQueryと同じくらい頻繁にdocument.getElementsByClassNAme 8326%を実行できることがわかります。したがって、可能であれば、これらすべてを破棄する必要があります:-)
Zeptoには、jQueryが機能するdeferred / promiseAPIがありません。これを修正するアドオンSimplyDeferredがあります:https://github.com/sudhirj/simply-deferred。
ウェブへの迅速な移行にゼプトを使用したことは一度もないと思います。彼の氷の洞窟の奥深くで、賢明で強力なイエティは人々が「ゼプトはどこに行ったのか」と尋ねるのを聞きました。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 2は、ロードされた後、実際にはZeptoよりも高速です。また、ほとんどの人がjQueryを中心に開発しているため、Zeptoのサポートはあまりありません。Zeptoを使用すべきではないことを示唆しているわけではありませんが、Zeptoを使用する理由と、使用している他のJavaScriptライブラリがサポート/競合しているかどうかを調べる必要があります。
それはあなたのプロジェクト次第だと思います。個人的または限定的な使用には、Zeptoがより良いオプションかもしれません。ただし、jQueryは他のライブラリによってはるかにサポートされており、ファイルサイズが理由を決定する唯一のものである場合は、欠陥があります。JavaScriptはページの読み込み後に読み込まれる必要があるため、どちらの場合もページの読み込み時間を妨げることはありません。
これは、jQuery 1.7.2、Zepto 1.0rc1、およびjQMobi1.03を含むパフォーマンステストです。