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

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

Zepto.js

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

jQuery 2.0

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

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

Ответ 1

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

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

Ответ 2

jquery 2 составляет ~ 30kb, а zepto - ~ 10kb, когда оба gzipped и minified. Не gzipped, но minified, jquery 2 ~ 80kb и zepto ~ 30kb.

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

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

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

Ответ 3

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

Этот jsPerf показывает разные результаты. Я могу использовать выбор класса jQuery (одного элемента) 137%, как часто, по сравнению с Zepto's. Для выбора ID я могу часто использовать jQuery 285%.

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

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

Ответ 4

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

Ответ 5

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

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

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

Ответ 6

Я думаю, что никогда не использовал zepto для быстрого перехода к паутине в Интернете. Посмотрите глубоко в его ледяную пещеру, мудрый и мощный Йети услышал, как люди спрашивали: "Куда пошел Zepto?" Назад, когда был задуман Foundation 4, мы переключились на Zepto (с опцией jQuery) для меньшего размера файла и более быстрого времени загрузки.

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

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

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

**

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

**

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