2009-08-30 2 views
2

Я использую JQuery какое-то время, но в основном без плагинов - теперь я ищу проект, который мог бы использовать кучу плагинов. Есть ли какое-либо ограничение производительности при использовании большого количества плагинов в проекте - Давайте скажем что-то в порядке 10-20 плагинов?JQuery производительность со многими плагинами?

И как повлияет производительность, если JQuery и его плагины включены на всех страницах. Даже если все плагины не используются на каждой странице?

ответ

4

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

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

Однако, как всегда, основной задачей является профилирование пользовательского интерфейса и часто. Прежде всего, если вы столкнулись с проблемами производительности, то реорганизуйте то, что вы делаете.

0

Я предполагаю, что вы говорите о времени загрузки js-файла.

Я предлагаю вам упаковать все ваши файлы jquery и plugin в один файл, используя что-то вроде компрессора YUI. Также используйте etags для ваших статических файлов.

Таким образом, ваш пользователь загружает только файл js один раз, и вы можете использовать его на своем сайте.

Edit:

Для выполнения исполнения, это зависит от качества кода и реализации плагинов, которые вы используете. Например, если вы слишком сильно используете плагин livequery, это замедлит работу приложения. Это пример хорошего качества, но решение по внедрению приводит к низкой производительности. Однако использование jQuery # live (v 1.3 или выше) не имеет ограничения производительности, поскольку базовый дизайн и реализация совершенно разные. Результатом этого является то, что #live менее эффективен, чем liveQuery, но быстрее. Поэтому важно прочитать исходный код, чтобы убедиться, что качество кода и ограничения реализации во избежание проблем с производительностью.

+0

Я не говорю о времени загрузки файла. Это довольно очевидно только в зависимости от размера файла. Мне интересно, влияет ли загрузка кучи плагинов JQuery на производительность «страницы/приложения» при их загрузке, но не используется , Я прекрасно понимаю, что чем больше вы используете определенную библиотеку или плагин, тем больше это повлияет на производительность. Но есть ли что-то, что отрицательно влияет на производительность при загрузке этих плагинов? –

+0

Загрузка плагинов не повлияет на производительность, если вы ее не используете. Но это увеличит объем памяти. Кроме того, я добавил предложения, связанные с исполнением. –

1

John Resig (создатель jQuery) имеет a good way of profiling jQuery плагины и тому подобное. Я бы сказал, что лучший способ увидеть, как будет влиять производительность, - это использовать все необходимые вам плагины и тестировать их.

Добавление большого количества вызовов js также увеличило бы HTTP-запросы, замедляя ваш веб-сайт. Чтение yahoo best practices и использование его расширения Yslow - хорошая идея, чтобы протестировать ваш сайт и посмотреть, что можно улучшить. Google имеет speed articles as well.

1

Там две вещи, чтобы рассмотреть здесь:

  1. загрузки страницы - это, очевидно, будет медленнее, чем больше файлов, включенных в страницу. Это можно смягчить путем кэширования и объединения файлов.
  2. Производительность Javascript - это будет зависеть от того, насколько хорошо написаны плагины. В то время как многие плагины великолепны, я нахожу много раздутых и написанных, чтобы учитывать каждую вероятность, эти, вероятно, будут медленнее. Используйте свое мнение.
2

Единственная постоянная стоимость плагинов - это затраты на их загрузку, то есть чем они больше, тем медленнее загружается ваша страница. Однако большинство плагинов, которые я видел, и сам JQuery, являются крошечными или достаточно маленькими, что это не имеет большого значения.

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

Создайте свой сайт и проверьте с помощью измерений.

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