Должен ли я ссылаться на облако API Google для библиотек JS?

Я ищу плюсы и минусы для вытаскивания jQuery и других JS-библиотек из облака Google API, а не для загрузки файлов и их непосредственного развертывания.

Что ты говоришь?


Мое решение

Вероятность того, что lib уже кэшируется в системе пользователей, является для меня главным фактором, поэтому я перехожу на постоянную ссылку на googleapis.com(например, ajax.googleapis.com/ajax/libs/...). Я согласен с другими здесь, что потеря доступа к облаку сервера Google является минимальной проблемой.

Ответ 1

Плюсы: он уже может быть кэширован в пользовательской системе. У Google большие трубы. Вы не платите за пропускную способность.

Минусы: теперь у вас есть два разных способа недоступности вашего сайта: прерывание службы на вашем сервере или на сервере Google.

Ответ 2

Con

  • Пользователи в странах, которым эмбарго США (например, Иран) не получат ответа от Google

Ответ 3

Я смотрел реальную производительность загрузчика Google для jQuery, в частности, и вот что я нашел:

  • Серверы Google являются быстрыми и надежными.
  • Они работают с CDN, а это означает, что если у вас много зарубежных пользователей, они получат гораздо лучшее время загрузки.
  • Они не обслуживают файлы gzipped. Таким образом, они обслуживают намного больше байтов, чем нужно.

Если вы знаете, что вы делаете в Apache, Lighttpd или с тем, с чем вы работаете с файлами, вы можете настроить заголовки кэша точно так же, как Google, и значительно сократить объем данных, которые конечный пользователь загружает, обслуживая его с вашего собственного сервера. Вы также можете объединить свои сценарии в этот момент и уменьшить свои HTTP-запросы.

Итог: производительность Google хороша, но не велика. Если у вас много зарубежных пользователей, то Google, вероятно, лучше, если ваши пользователи в основном ориентированы на США и максимальную производительность, это ваша забота, узнайте о кешировании, Etags, gzipping и т.д. И обслуживайте его самостоятельно.

Ответ 4

Плюсы:

  • Google-соединение, вероятно, намного лучше, чем ваше.
  • Это бесплатная CDN (сеть распространения контента)
  • Ваш webapp может загружаться быстрее, поскольку вы используете CDN

Минусы:

  • Если/когда вам нужно оптимизировать, переупаковывая подмножество этой сторонней JS-библиотеки, вы сами по себе, и ваш webapp может затем загружать медленнее

Ответ 5

В дополнение к точкам, сделанным другими, я укажу на два дополнительных недостатка:

  • Дополнительный внешний HTTP-запрос, предполагающий, что у вас есть собственный Javascript файл (почти наверняка), в котором два минимум вместо одного минимума; и
  • IMHO, потому что загрузка jQuery - это асинхронная загрузка всей страницы до загрузки библиотеки, поэтому эффекты, которые вы делаете при подготовке документа, иногда заметно заметны для пользователя, когда они применяются. Я думаю, что это не отличный пользовательский интерфейс.

Ответ 6

Плюсы очевидны и находятся в других ответах:

  • вы сохраняете пропускную способность
  • Google, вероятно, более надежный, чем ваш сервер.
  • возможно, кэшируется в большинстве браузеров (любой из них говорит об этом?)

Но минусы могут быть очень сложными:

  • Если вы используете https, вы получите ошибку в большинстве браузеров, так как ваш сертификат недействителен для домена google, только ваш. Это основная проблема для https.

Ответ 7

Я думаю, что было бы здорово сделать, это запустить тесты A/B и посмотреть, что задержка заключается в загрузке мини-версии jquery из серверов Google и вашего сервера. Надеюсь, это подтолкнет вещи. Скорее всего, сервер Google может быть быстрее, но с точки зрения принятия ответственности за время простоя ничто не сравнится с хостингом.

Ответ 8

Pro:

Google Ajaxlibs предлагает очень мелкий "контроль версий" для включенных библиотек. Вы можете применить определенную версию (например, JQuery 1.3.2) или автоматически запросить последнюю версию из определенной ветки (например, JQuery 1.3 series → в настоящее время будет поставлять 1.3.2, но, возможно, скоро 1.3.3).

У более поздней версии есть определенные преимущества: вы получите прибыль от небольших исправлений/улучшений производительности, не нарушая ваши скрипты/плагины.

Поддержание такого хранилища в нескольких библиотеках может стать довольно интенсивным.

Ответ 9

Con:

  • Если вы боитесь отравления DNS или боитесь, что некоторая общественная беспроводная сеть не может быть доверена, то версии, отличные от SSL, могут вообще не обслуживаться Google, открывая установочная установка вредоносного ПО. (Но: кеширование установлено на полный год, поэтому, несмотря на то, что многие браузеры выдадут запрос If-Modified-Since для кэшированного контента при обновлении, это может быть теоретической проблемой, так как большинство пользователей уже кэшируют ресурсы при использовании другой сети.)

  • При особой заботе о конфиденциальности ваших посетителей вам может не потребоваться, чтобы Google записывала посещения вашего сайта, используя их CDN. (Вполне теоретически, так же, как и то же замечание о кешировании.)