В чем разница между Zepto и jQuery 2?

есть эти два похожих проекта:

Zepto.js

Zepto-это минималистская библиотека JavaScript для современных браузеров с в основном jQuery-совместимый API.

jQuery 2.0

jQuery 2.0 beta: вот ваш вкус будущего, jQuery, который может быть быстрее и меньше без необходимости поддерживать IE 6, 7 или 8. Это отличный выбор для специфичного для платформы HTML приложения.

Это только о производительности или они следуют разным подходам?

6 ответов


основное различие между Zepto.js и jQuery-это их соответствующие размеры файлов Zepto.js ~20kb (minified, а не gzipped) вместо jQuery ~80kb и Zepto.js ~10kb (minified, Gzipped) вместо jQuery ~30kb. Кроме того, Zepto поддерживает такие браузеры, как IE<10 либо отсутствует, либо не гарантируется,целевой платформы являются:

  • Safari 5+ (рабочий стол)
  • Chrome 5+ (рабочий стол)
  • Mozilla Firefox 4+
  • iOS 4 + Safari
  • Android 2.2 + Браузер
  • другие браузеры/среды выполнения на основе WebKit
  • webOS 1.4.5 + браузер
  • BlackBerry Tablet OS 1.0.7 + браузер
  • Amazon Silk 1.0+
  • Опера 10+
  • Internet Explorer 10+

jquery 2 ~30kb и zepto ~10kb когда оба gzipped и minified. Non gzipped но minified, jquery 2 ~80kb и zepto ~30kb.

используйте аналитическую программу для проверки аудитории вашего сайта. Если значительная часть ваших пользователей использует IE9, вам нужен jquery, и zepto не будет летать. Если более нескольких процентов используют IE8 и ниже, и вы не можете оставить их без вашего сайта, Вам нужно будет использовать jquery 1. Если вы нацелены на этот последний, мне жаль-много новые блестящие игрушки тебе не подойдут.

Если вы создаете приложение html5 для android / ios / phonegap и т. д., Вы в первую очередь ориентируетесь на webkit, поэтому zepto дает вам большую экономию размера. Основное понимание и причина существования zepto заключается в том, что при работе на платформах webkit только многие кросс-платформенные обходные пути jquery просто не нужны.

Zepto также добавляет пару обработчиков сенсорных событий для помощи с mobile dev, но в основном это вес страницы против платформы поддержка, о которой нужно подумать.


Это довольно старый вопрос, но я хотел бы добавить производительности. Из того, что я слышал, Zepto выступал лучше, чем jQuery.

этой см. Этот тест jsperf показывает разные результаты. Я могу использовать выбор класса jQuery (одного элемента) 137% так же часто, как и Zepto. Для выбора идентификатора я могу использовать 285% jQuery так же часто.

Это огромное дело, учитывая, что в большинстве приложений взаимодействия DOM являются единственной статистикой производительности, которая имеет значение (кроме сетевых запросов).

также глядя на этот perf, я вижу, что я мог бы сделать документ.getElementsByClassNAme 8326% так часто, как jQuery, поэтому мы должны все бросить все это, если это возможно: -)


Zepto не хватает API отложенного / обещания, который имеет jQuery. Есть дополнение, просто отложенное, которое исправляет это:https://github.com/sudhirj/simply-deferred .


но со временем мы обнаружили, что более легкий размер файла не переводится в лучшую производительность в целом. Конечно, Zepto загрузился быстро. Но однажды заряженный, он был не так быстр, как jQuery. Это не помогло, что многие сторонние плагины требовали jQuery, а не Zepto - фактически, мы обнаружили, что некоторые сторонние JavaScripts конфликтовали с Zepto.

поддержание различных кодовых баз было нелегко для нас. Например, Zepto не имеет надлежащей функции вычисления высоты, что затрудняет некоторые вычисления сетки.

чтобы решить все это, ответ был ясен, как весеннее гималайское небо: Foundation 5 использует jQuery 2. В дополнение к лучшей скорости и принятию отрасли, jQuery 2 также выигрывает от лучшей документации и поддержки. jQuery совместим с API.

**

но мы предполагали, что Zepto будет быстрее, чем jQuery. Мы не хотели сделайте одно и то же предположение дважды, поэтому мы протестировали Zepto против jQuery 2. Этот результат: jQuery 2 имеет больше операций в секунду. Это дает основание 5 лучшее представление, которое переводит к лучшему опыту для всех пользователи.

**

в конце концов, мы хотим помочь людям быстрее разрабатывать отличные продукты - и на этот раз это означает, что наиболее отзывчивые интерфейсные рамки в мире сами по себе ускоряют скорость.


из того, что я читал, люди, кажется, сильно склоняются к Zepto. Наиболее частой причиной этого является размер файла, но jQuery 2 на самом деле быстрее, чем Zepto после его загрузки. Кроме того, вы не найдете большой поддержки Zepto, так как большинство людей развиваются вокруг jQuery. Я не предлагаю вам не использовать Zepto, но вы должны посмотреть, почему вы хотите использовать его, и если другие библиотеки JavaScript вы используете поддержку/конфликт с ним.

Я бы сказал, Это зависит от вашего проекта. Для личного или ограниченного использования, Zepto может быть лучшим вариантом. Однако jQuery гораздо больше поддерживается другими библиотеками, и если размер файла является единственным, определяющим вашу причину, то он ошибочен. JavaScript должен быть загружен после загрузки страницы, поэтому он не будет препятствовать времени загрузки страницы в любом случае.

здесь это тест производительности, включая jQuery 1.7.2, Zepto 1.0rc1, а также jQMobi 1.03.