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