Использовать пользовательскую загрузку jQuery-ui или самостоятельной загрузки пользовательского интерфейса jQuery?
Я работаю над сайтом, где мы используем функцию слайда из jquery-ui.
Рекомендуемая в Google версия jquery-ui весит 63 КБ - это для всей библиотеки. Пользовательская загрузка только функции слайдов весит 14 КБ.
Очевидно, если пользователь кэшировал версию, размещенную в Google, без проблем, но если у нее ее нет, загрузка займет больше времени, так как я могу просто добавить пользовательскую функцию jquery-ui slide внутри моего файла main.js,
Я предполагаю, что это сводится к тому, сколько других сайтов, использующих jquery-ui (если бы это было только для обычного jquery, это было бы неинтересно, так как загрузки сайтов используют jquery, но я немного не уверен в использование jquery-ui)...
Я не могу понять, что лучше всего сделать в приведенном выше сценарии?
Ответы
Ответ 1
Я бы сказал, если пользовательская выборочная сборка такая маленькая, как абсолютно, так и относительно, есть веские причины для выбора этого пути.
Загрузка ресурса JavaScript имеет несколько последствий в следующем порядке событий:
- Загрузка: запрос/ответная связь или, в случае получения кэша. Имейте в виду, что CDN или нет, сообщение влияет только на первую страницу. Если ваш сайт построен в традиционном стиле "полный запрос страницы" (в отличие от SPA и подобных), это буквально становится проблемой без проблем.
- Анализ: JS-движок должен анализировать весь ресурс.
- Выполнение: механизм JS выполняет весь ресурс. Это означает, что любой код инициализации/загрузки выполняется, даже если эта инициализация для функций, которые не используются на странице хостинга.
- Использование памяти: использование памяти зависит от всего ресурса. Это включает в себя статические объекты, а также функцию (которые также являются объектами).
Имея это в виду, наличие меньшего ресурса выгодно по сравнению с простой загрузкой. Более того, запрос на такой небольшой ресурс пренебрежимо мал с точки зрения коммуникации. Вы даже не подумали бы дважды о том, что это была мини-версия логотипа компании где-то внизу экрана, где никто даже не замечает.
Как побочная заметка и потенциальная оптимизация, если ваш сайт обслуживает какую-либо проприетарную библиотеку или группу менее распространенных библиотек, вы можете объединить их все вместе, включая подмножество UQuery UI, и ваши пользователи будут иметь только один запрос, снова делая это выгодным.
Ответ 2
Перейдите в версию, размещенную в Google
- Вероятно, пользователь недавно посетил веб-сайт, на котором загружается jQuery-UI, размещенный на серверах Google.
- Это отвлечет нагрузку с вашего сервера и ускорит загрузку других элементов.
- Браузеры загружают определенное количество ресурсов из одного домена. Загрузка jQuery-UI с серверов Google гарантирует, что он будет загружен одновременно с другим ресурсом, который находится на ваших серверах.
Ответ 3
Сеть разработчиков Yahoo рекомендует использовать CDN. Их полные причины опубликованы здесь.
https://developer.yahoo.com/performance/rules.html
Эта цитата с их сайта действительно запечатывает это в моем сознании.
"Развертывание вашего контента на нескольких географически распределенных серверах сделает ваши страницы быстрее загружаемыми с точки зрения пользователя".
Ответ 4
Я не эксперт, но мои два цента - это все равно. С CDN вы можете быть уверены, что есть ограниченная латентность, плюс, как упоминалось выше, пользователь, скорее всего, взял ее с какого-либо другого веб-сайта, размещенного google. Также я всегда забочусь о том, чтобы сохранить полосу пропускания.