Должен ли я использовать размещенную версию JQuery? Который из? - PullRequest
11 голосов
/ 18 мая 2010

Должен ли я использовать локальную копию jquery или ссылку на копию, предоставленную Google или Microsoft? Я в первую очередь беспокоюсь о скорости. Я слышал, что простое извлечение контента из других доменов может иметь преимущества в производительности, связанные с тем, как браузеры ограничивают соединения. В частности, кто-нибудь сравнивал скорость и задержку между Google и Microsoft, а не локальными?

Кроме того, должен ли я соглашаться на какие-либо условия или лицензии для ссылки от сторонних производителей?

Ответы [ 7 ]

11 голосов
/ 18 мая 2010

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

Я использую Google для этого и не испытывал никаких проблем с ним до сих пор. Вы можете легко загрузить jQuery, используя:

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
    google.load("jquery", "1.4");
</script>
7 голосов
/ 18 мая 2010

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

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

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

Стоит также отметить, что, хотя jQuery не совсем легковесен, он не слишком большой и, как и любой JavaScript, должен кэшироваться браузером (но не обязательно).

6 голосов
/ 18 мая 2010

Большинство рекомендаций, которые я видел, было использовать размещенную версию Google или Microsoft и т. Д.

У Дейва Уорда есть хорошая статья, объясняющая причины.

3 причины, почему вы-должны-пусть-Google-хост-JQuery-для-вы

  1. Снижение задержки
  2. Увеличенный параллелизм
  3. Лучшее кэширование

См. Его пост для статистики.

Дейв указывает, что вы должны делать это только для общедоступных веб-сайтов.

3 голосов
/ 18 мая 2010

Я использую библиотечный хостинг Google AJAX в производстве для нескольких клиентов.Работает как шарм, и, безусловно, лучший путь.

http://code.google.com/apis/ajaxlibs/

2 голосов
/ 20 декабря 2011

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

Может показаться немного странным использование обоих , но хосты сторонних библиотек не на 100% непогрешимы и могут выйти из строя. В этих редких случаях полезно иметь резервную копию, и это именно то, что рекомендует *1000* проект HTML5Boilerplate .

Вот фрагмент кода из проекта, который загружает jQuery из службы Google и возвращается к локально размещенной копии в случае сбоя:

<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if necessary -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.5.1.min.js">\x3C/script>')</script>

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

Другим положительным моментом является то, что эту же стратегию можно использовать для любого сценария размещения на нескольких серверах, так что вы можете (и я) использовать это для других библиотек, таких как jQuery UI.

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

Наконец, этот подход также относителен к протоколу, поэтому он одинаково хорошо работает на http и https страницах, не вызывая жалоб браузера на небезопасные элементы страницы.

2 голосов
/ 18 мая 2010

Я бы рекомендовал всегда размещать собственную локальную копию.

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

Я думаю, что разумно использовать размещенную ссылку, когда вы публикуете пример кода, который вы хотите "работать" без необходимости загружать jquery пользователю.

2 голосов
/ 18 мая 2010

Я бы предложил загрузить jQuery из CDN, который предоставляет jQuery:

http://code.jquery.com/jquery-1.4.2.min.js

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...