Облегченная библиотека JS против CDN, размещенного в Google - PullRequest
2 голосов
/ 05 февраля 2012

Когда скорость загрузки страницы является приоритетом, лучше использовать минимальную легковесную библиотеку javascript (размещенную на CDN) или лучше использовать что-то вроде jQuery, размещенного на CDN Google, что браузер с большей вероятностьюуже загружен?

Редактировать: что мой вопрос действительно сводится к тому, перевешивает ли эффект кэширования между сайтами использование jQuery, размещенного в CDN Google, перевешивает преимущества использования сверхлегкой библиотеки, также в CDN.

Ответы [ 3 ]

2 голосов
/ 05 февраля 2012

jQuery не тяжел по сравнению с любой другой библиотекой javascript в настоящее время, учитывая количество функций и браузеров, которые она поддерживает.

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

Да, если вы используете CDN, например Google, для jQuery, наиболее вероятно, что библиотека должна кэшироваться браузером, а также Google имеет количество серверов в зависимости от местоположения, поэтому вам не нужно об этом беспокоиться.

1 голос
/ 05 февраля 2012

Снижение задержки

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

В случае CDN библиотек AJAX от Google это означает, что все пользователи, не находящиеся рядом с вашим сервером, смогут загружать jQuery быстрее, чем если вы заставите их загрузить его с произвольно расположенного сервера. Существует несколько сервисов CDN, сравнимых с сервисами Google, но цены на них сложно превзойти! Только эта выгода может решить проблему, но есть даже больше.

Увеличенный параллелизм

Чтобы избежать ненужной перегрузки серверов, браузеры ограничивают количество подключений, которые могут быть установлены одновременно. В зависимости от того, какой браузер, этот предел может составлять всего два подключения на имя хоста. Использование CDN библиотек Google AJAX исключает один запрос на ваш сайт, позволяя параллельно загружать больше локального контента. Это не имеет гигантского значения для пользователей с браузером с шестью одновременными подключениями, но для тех, кто все еще использует браузер, который позволяет только два, разница заметна.

Лучшее кэширование

Потенциально самое большое преимущество использования CDN библиотек Google AJAX заключается в том, что вашим пользователям вообще не нужно загружать jQuery. Независимо от того, насколько хорошо оптимизирован ваш сайт, если вы размещаете jQuery локально, ваши пользователи должны загрузить его хотя бы один раз. Каждый из ваших пользователей, вероятно, уже имеет десятки идентичных копий jQuery в кеше своего браузера, но эти копии jQuery игнорируются при посещении вашего сайта.

Однако, когда браузер видит ссылки на размещенные на CDN копии jQuery, он понимает, что все эти ссылки ссылаются на один и тот же файл. Поскольку все эти ссылки на CDN указывают на одни и те же URL-адреса, браузер может доверять, что эти файлы действительно идентичны, и не будет тратить время на повторный запрос файла, если он уже кэширован. Таким образом, браузер может использовать одну копию, которая кэшируется на диске, независимо от того, на каком сайте появляются ссылки CDN.

Это создает мощный эффект «кэширования между сайтами», от которого выигрывают все сайты, использующие CDN. Поскольку Google CDN предоставляет файл с заголовками, которые пытаются кэшировать файл на срок до одного года, этот эффект действительно имеет удивительный потенциал. Так как многие тысячи сайтов с наибольшим количеством посещений в Интернете уже используют Google CDN для обслуживания jQuery, вполне возможно, что многие из ваших пользователей никогда не сделают ни одного HTTP-запроса на jQuery при посещении сайтов, использующих CDN. Даже если кто-то посещает сотни сайтов, использующих одну и ту же версию jQuery, размещенную в Google, ему нужно будет загрузить ее только один раз!

0 голосов
/ 05 февраля 2012

Лучше использовать библиотеку, которая наилучшим образом соответствует потребностям вашего приложения и вашей команды разработчиков.Сверхлегкая библиотека может сэкономить несколько сотен миллисекунд времени загрузки, но может в конечном итоге стоить вам часов разработки, если у вашей команды значительно больше опыта работы с jQuery / MooTools / Dojo и т. Д.

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

...