Внешние JS библиотеки или локальные, есть ли преимущества?
Я думаю многие регулярно пользуются библиотекой jQuery и вот вопрос, есть 2 варианты ее подключить:
1) Скачать файл себе на сервер,
2) Подключить по ссылке с серверов Яндекса или Гугла.
Я вижу, что многие подключают по ссылке, но проблема в том, что если сайт с которого тащится библиотека заблокирован Роскомнадзором или его аналогами, то подключение не работает и все летит.
В Украине, например, Яндекс заблокирован и при подключении через него jQuery не работает для доли посетителей из Украины.
В общем, суть: есть какой-то смысл подключать через ссылку или заливаем себе на сервер и бед не знаем. Как вы считаете?
Плюсы удаленного подключения популярных библиотек из CDN в том, что есть большая вероятность, что они будут кэшированы у пользователя и он просто не будет подгружать их отдельно для вашего сайта. Да и скорость доступа к удаленным библиотекам из CDN в большинстве случаев будет выше, чем к вашему хостингу. При этом есть масса популярных CDN, которые в 99% случаев не будут заблокированы нигде. В крайнем случае можно определять локацию пользователя и изменять ссылку на загрузку библиотеки.
Плюсы локального хранения в том, что к ним будет 100% доступ, если есть доступ к вашему сайту.
Отказаться от крупных либ - если у вас много новых посетителей
Подключать с фоллбеком - если у вас много постоянных и либы дорого убрать
Если много постоянных юзеров - использовать только со своего домена со статикой
Лучше локально, потому что уменьшается количество точек отказа до минимума, коим является ваш сайт.
Вообще от библиотек лучше отказаться. От тяжелых тем более. Но если очень хочется оставить, ваше право. С тяжелыми библиотеками первая загрузка сайта будет самая долгая. Затем все статичные файлы закешируются.
Подключайте через более надежные источники, не зависящие от политической конъюнктуры.
Лучше cdn, потому что у большинства юзеров библиотека будет уже в кэшэ. И, скорее всего, cdn гугла работает быстрее, чем ваш хостер, поэтому даже если не в кэше, то все равно быстрее.