2013-08-24 6 views
11

Я знаю, что JQuery - это просто библиотека javascript.Скорость JQuery против скорости javascript

JQuery анимация и события медленнее, чем javascript? Если да, то насколько медленнее.

Я пытаюсь решить, должен ли я переписать свой сайт в собственном javascript.

+0

Есть ли у вас проблема с производительностью, которую вы призываете переписать свой сайт так? jQuery - это просто библиотека JavaScript, конечно - объекты jQuery медленнее, чем напрямую, используя собственные методы DOM, но большую часть времени производительность на самом деле не так важна. –

+0

Рассмотрите другие факторы в дополнение к скорости. Какие браузеры вам нужны для поддержки, сколько еще потребуется вам для разработки, и т. Д. – ryan

+0

Мне нужно поддерживать все веб-браузеры, как я это делаю сейчас. Время разработки не является проблемой. Мой сайт довольно большой и заставляет компьютеры, у которых есть компьютерное оборудование, немного отставать. Также для пользователей сафари. –

ответ

24

jQuery с точки зрения скорости довольно быстр для современных браузеров на современных компьютерах. Так что это чистый JavaScript. Оба работают значительно медленнее на старых браузерах и машинах.

Pure Javascript для доступа к DOM может быть быстрее, так как вы можете сократить накладные расходы, которые имеет JQuery. Однако это не всегда должно быть быстрее, поскольку вы могли бы написать некоторые серьезные ошибки, которые замедляют работу. С другой стороны, jQuery испытала боевые испытания в течение последних нескольких лет и доказала свою эффективность.

Другое дело, что jQuery специально не был разработан с учетом мобильных устройств. Такие события, как click, вызывают задержку из-за этого факта (~ 300 мс). jQuerys анимации также довольно медленны на среднем мобильном устройстве, потому что способ, которым они пишутся, делает их связанными с процессором, среднее мобильное устройство не имеет много мощности процессора. Это связано с использованием аппаратных ускоренных анимаций CSS.

+3

Хм, забавный факт, который я никогда не знал о jquery :) –

+0

На мой взгляд, вы должны придерживаться jQuery. Я не думаю, что писать все в чистом JS покажет вам какое-то заметное повышение производительности в наши дни. Я написал мобильные сайты, которые чувствуют себя родными, используя jQuery, просто используя анимацию CSS. Остальная часть структуры очень быстро в моем опыте. Также селекторами и событиями и так проще в jQuery, а не JS. – Hless

+0

Хорошо, не обращай на это никакого слова. что делать, если я использую селектора в переменных вместо того, чтобы каждый раз вводить селектор? Может ли это что-то распространять? –

Смежные вопросы