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


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

Zepto.js

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

jQuery 2.0

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

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

6 80

6 ответов:

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

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

библиотека jQuery 2 составляет ~30кб и zepto-это ~10кб когда оба сжатые и уменьшенные. Не сжатый, но сжатый, в jQuery 2 составляет ~80кб и zepto-это ~30кб.

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

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

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

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

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

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

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

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

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

но со временем мы обнаружили, что более легкий размер файла не переводится в лучшую производительность в целом. Конечно, 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.