Google добавил интерфейс для AJAX-библиотек

    Сегодня Google объявила об открытии интерфейса Google AJAX Libraries API. Что это и для чего нужно я в кратце поясню.

    Во-первых, это хранилище всех версий следующих библиотек:
    • jQuery
    • Dojo
    • MooTools
    • script.aculo.us
    • prototype

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

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

    В-третих, все это работает максимально просто. Чтобы получить нужную библиотеку, можно воспользоваться двумя способами. Самый простой это сделать запрос через

    Например, нам нужно получить prototype версии 1.6.0.2:
    <script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.min.js"></script>

    Второй способ это загрузить библиотеку через метож google.load из Google AJAX API Loader's

    Пример для jQuery:
    <script src="http://www.google.com/jsapi"></script>
    <script>
      // загружаем jQuery
      google.load("jquery", "1");
    
      // когда страница загружена, вызываем метод jQuery
      // поиск через Google :)
      google.setOnLoadCallback(function() {
        $.getJSON("http://ajax.googleapis.com/ajax/services/search/web?q=google&;v=1.0&;callback=?",
          //запрос завершен, получаем данные
          function (data) {
            if (data.responseDate.results &&
                data.responseDate.results.length>0) {
              renderResults(data.responseDate.results);
            }
          });
        });
    </script>

    Вот и все :)

    Ещё одна интересная вещь — загрузка последней версии библиотеки. Когда мы указываем версию файла, можно указать что мы хотим загрузить самую последнюю версию. Например, если укажем версию «1» для jQuery, мы загрузим версию 1.2.6. Для остальных библиотек также. Можно указывать ветки версий. То есть, если укажем версию 1.2, то нам загрузят 1.2.6. Но когда выйдет версия 1.3.х, она не будет загружена.

    По умолчанию грузится сжатая версия библиотеки, а чтобы загрузить обычную версию, надо указать в строке запроса что мы хотим загрузить. Например
    <script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js"></script>

    Это если мы используем URL для запроса. А если мы используем метод google.load, то надо указать в функцию допольнительный параметр {uncompressed:false}

    Дополнительные ссылки:

    Официальная страница
    Документация

    via Ajaxian
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 62

      0
      Интересная новость
        0
        Однако удобная штука. Определенно буду пользоваться.

        Спасибо за новость.
          +26
          Как гугл ненавязчиво подсаживает всех на себя. Я не параноик, но иногда становится не по себе.
            +1
            Это ведь всего лишь библиотеки для создания внешнего представления сайта. Для интерфейса. Какая разница, кто их разработчик и где они лежат, если они удобны?
            В сайте же (таком, которому стоит бояться "подсадки" на Google) главное вовсе не дизайн и не интерфейс, а содержательная обработка данных, которая крутится на Вашем собственном сервере.
              0
              А вдруг он туда дописал какую-нибудь систему сбора данных ))
                +2
                Это разгадают очень быстро через мониторы и firewalls, так как начнут устанавливаться соединения с сайтами, на которые мы не ходим. Да наверняка хакеры просмотрят все пакеты сетевые двести раз и изучат каждый символ в исходниках программ. Найдут что-то - будет скандал, который уничтожит Google. Зачем же Google это нужно?
                  0
                  Что то я сомневаюсь насчет хакеров, крайне бесперспективное занятие искать ошибки у гугла :)
                    0
                    Гугл это сделал в рамках борьбы с Майкрософт. Задача гугла убыстрить работу JS-сайтов, а не помочь людям.

                    А вот параноидальное:

                    установив на свой сайт такую библиотеку — это раскрыть гуглу дополнительную информацию о своём сайте:
                    а) как часто на него ходят люди
                    б) какие люди

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

                    Причём, если гугл отключит выдачу заголовков только для определённого сайта, то вероятность того, что владелец узнает об этомм стремиться к нулю.
              +8
              Google сделал 100% то, что нужно многим. Это взгляд в будущее.
                0
                Вопрос только в том, на сколько хорошо гугл там её будет сжимать (существуют ведь и не стандартные способы сжатия, с урезанием ненужного).
                  +4
                  имхо пофиг как он её будет сжимать. Библиотека будет грузится одна для многих сайтов, а значит браузеры смогут её кешировать для всех сайтов сразу.
                    0
                    В точку. Даже вообще никак не сжатая библиотека скачанная один раз породит меньше траффика чем суперсжатая, скачанная со 100 сайтов.
                      0
                      угу. вообще не понятно почему создателям библиотек эта идея ранее не приходила в голову
                        0
                        AOL уже давно хостит Dojo Toolkit.
                        0
                        Ну, вообщемто всё упирается в вопрос массовости...
                      –2
                      Да, я полностью согласен с JStingo. Мало того что он всех подсаживает на себя как на наркотик, так может быть и кража технологий, такая совсем не навязчивая... Такими темпами гугл заманит людей во всех аспектах. От офисных приложений до систем управления проектами.

                      Еще возможны небольшие тормоза при загрузке библиотек у клиента. :)
                        0
                        насчет тормозов - ты когда-нибудь замечал тормоза со стороны гугла? :) если не учитывать коннект провайдера ;)
                          +3
                          да замечал... когда жду полной загрузки гугл-аналитик например, говорю абсолютно непредвзято. Одно дело загрузить один маленький гугль-аналитик... а другое дело основную библиотеку jquery, потом jquery-ui-core, потом jquery-ui-resizeble и тд... притормаживание скорее всего будет...
                            0
                            хм. гугл-аналитик загружает кучу данных: картинки, флеш. а когда ты загружаешь один файл размером 30кб (сжатый если), то это все быстро будет. а насчет jQuery UI - я думаю там не будет UI :)
                              +1
                              я не про тормоза при работе с интерфейсом гугл-аналитика, а небольшие торможения при загрузки сайта с подключенным кодом гугл-аналитика. И все таки это только мои предположения:)
                            +3
                            Проверьте ping у серверов google
                            google.com - 162ms
                            google.ru - 76ms
                            googleapis.com - 151ms
                            При этом vkontakte.ru -29ms
                            А мой домен на обычном хостинге 12ms.

                            Поправьте, есле это не показатель.(Точно не уверен, может только время отклика)
                              0
                              я думаю надо будет провести парочку тестов из разных точек мира. заодно узнаем как легко можно загрузить нужную библиотеку ;)
                                0
                                Это показатель :-( googleapis.com откуда-то из Штатов сервится, google.com и google.ru - из Европы. Ваши домены, скорее всего, откуда-то из Москвы.
                                  0
                                  Из Питера. Хостинг называть не буду)
                                    0
                                    Ну тем хуже для вас :-) Ясно что из Питера в Питер байты будут ходить быстрее чем из Европы или тем более штатов. Тогда неясно откуда 12ms - должно быть 6-8ms...
                                  +1
                                  Пинг только косвенный показатель, он может быть и 1500ms, а скорость загрузки 10 МБ/с. При скачивании больших файлов и при открытии страниц с небольшим количеством картинок пинг практически не влияет на объективное восприятие скорости загрузки, но если страница сайта, например, содержит 50 маленьких картинок и сидит на хостинге с пингом 200-300, то тормоза видны невооружённым взглядом.

                                  По теме - тормозов при загрузке скриптов с сайта googleapis никто не заметит :)
                                    0
                                    # Новосибирск
                                    google.com - 190ms
                                    google.ru - 118ms
                                    googleapis.com - 204ms
                                    vkontakte.ru - 191ms
                                    Мой домен на хостинге (NY) - 178ms
                                    0
                                    Google - это 50-60ms от Москвы. Увы и ах. Яндекс - 2-3ms. Может им cкооперироваться? Потому как дело важное и полезное, но, увы, в России - не очень быстрое.
                                    0
                                    google is watching you? боитесь - не пользуйтесь. свои плюсы тут явно есть
                                      0
                                      Это же просто то, что исполняется на стороне клиента. У Вас что, код на страницах секретный? :) Все, что исполняется на клиенте - это просто МОРДА, какая разница какие библиотеки там исползуются, если они удобны? Стоило бы бояться, если бы обработка данных в back-end Вашего сайта происходила бы на серверах Google.
                                      А что касается JavaScript-ов - то чем быстрее кто-то стандартизирует создание интерфейсной части сайта и абстрагирует нас от всего этого траха, тем лучше. ЕСЛИ Google не вводит ограничений на количество загрузок ИЛИ не запрещает качать код к себе и использовать коммерчески.
                                      +1
                                      Вероятно, при повсеместном использовании с разных сайтов это даст существенный выигрыш за счёт кеширования.
                                        +2
                                        блин, в гугле работают люди из Future Crew?
                                          0
                                          В принципе идея не нова. На главной сайте Dojo уже давно есть ссылка на репозитарий от AOL http://dev.aol.com/dojo Так что всегда есть альтернатива. Писать google.load("dojo", "1.1.1"), конечно, красиво, но, думаю, имеет смысл только когда все остальное сделано через google api и лишняя доза уже не решает.
                                            –3
                                            жаль, что все что происходит вокруг гугла так обросло пиаром, что мы не видим альтернатив
                                              0
                                              AOL - это, увы, AOL. Если в случае с Гуглом есть шанс что хотя бы в перспективе эти API переместятся поближе к тебе (ну пусть не в Россию, а хотя бы в Германию), то AOL так и будет всё из Штатов выдавать. Для США - да, это вариант. А для России - нужно ждать пока кто-нибудь типа Яндекса возьмётся за это дело.

                                              P.S. Конечно есть у вас на сайте уже используются какие-то другие API от Google - файлы тоже стоит грузить через google.load , но это другая история...
                                                0
                                                Какая-то очень туманная надежда. Хотя, когда количество и качество библиотек превысит некий уровень, я думаю, появятся такие же js-репозитарии как и для обычного ПО.
                                              0
                                              ура! наконец-то!
                                                –1
                                                Для локальной разработки никаких преимуществ. Максимум для последующей отладки и тестирования производительности новых версий библиотек с существующим приложением.
                                                  –3
                                                  Удобно при использовании google хостинга или при написании гаджетов для iGoogle. Во всех других случаях польза таки сомнительна.
                                                    0
                                                    Ура!
                                                    Я то как дурак юзал раньше http://jquery.com/src/latest/
                                                      0
                                                      Хотелось бы добавить:
                                                      В-четвёртых, это может ускорить загрузку вашего сайта, т.к. необходимая вам библиотека скорее всего уже загружалась пользователем (ввиду того, что использовалась на каком-нибудь другом сайте) и закэшировалась браузером.
                                                        0
                                                        "Если кто-то уже загружал этот файл с сервера Google, он уже может оказаться в кеше." я вот тут написал :) Но у тебя более понятно :)
                                                          0
                                                          Тогда уж и "в-пятых": ваш сервер не озабочен отдачей библиотеки, таким образом на него снижается нагрузка. Это, конечно, актуально для высокопосещаемых ресурсов.
                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                          0
                                                          Очень нужная и полезная вещь
                                                          Даю голову на отсечение - на стороне гугл стоит агригатор данных о посещаемости
                                                            0
                                                            Для чего? думаете данных о посещаемости собираемых Google Analytics им недостаточно? тем более они могут их использовать на законных основаниях, если это не запрещено владельцем аккаунта.
                                                              0
                                                              тоже верно, главное что бы принудительно банеры крутить не начал :)
                                                            0
                                                            Абсолютно, на мой взгляд, бесполезный сервис, и отчасти даже вредный.
                                                            1)Поддержание последней версии библиотеки на странице - одна большая глупость. Далеко не всегда строго соблюдается обратная совместимость версий. Так что есть риск, что проект завалится и вы даже не заметите.
                                                            2)Хранение файлов не у себя - максимум, что выиграешь это то, что есть возможность того что в браузере будет быстрее грузится, а те кто отдают статику апачем, думаю, не страдают от большой посещаемоасти.
                                                            3)Как заметил meteozond, наверняка стоит агрегатор, который собирает посещаемость, то есть гугл начинает получать данные не только от своих проектов, но и от ваших.
                                                            4)В случае взлома проекта, или целенаправленной акции гугла, все персональные данные ваших пользователей могут быть направлены на агрегатор злоумышленника. И ни кто этого не заметит.
                                                              0
                                                              В случае взлома проекта, или целенаправленной акции гугла, все персональные данные ваших >>пользователей могут быть направлены на агрегатор злоумышленника. И ни кто этого не >>заметит.
                                                              Мне кажется гугл заслужил доверие, а те кто борется за чрезмерную защиту персональных данных пользователя (какие-то коммерческие данные я так думаю) не будут этим пользоваться)
                                                                0
                                                                1)Поддержание последней версии библиотеки на странице - одна большая глупость.
                                                                Там же есть возможность выбора версии. Если не уверен в обратной совместимости - используй проверенную версию.
                                                                  0
                                                                  А еще станет проще писать вирусы — достаточно залезть в систему и прописать в hosts свой вредоносный прокси вместо ajax.googleapis.com и отдавать жертве собственные следящие скрипты вместе с оригинальным jquery — тогда ВСЕ сайты которые грузят jquery с google получат инъекцию вредоносного кода себе на страницы. Брр. Короче хакеру главное заставить браузер жертвы поверить в то что ajax.googleapis вот по такому-то IP теперь расположен (переехал, ага) а дальше дело техники. Да и фокусы с MITM тоже станут гораздо интереснее.
                                                                  0
                                                                  А как у нас с безопасностью дела обстоят? Скрипт загруженный с другого домена может же отправить на этот домен куки пользователя, например?
                                                                    0
                                                                    Сейчас политика безопастности простая. Главное не откуда скачал, а где запустил.
                                                                      0
                                                                      С безопасность точно также как и у AdSense, GoogleAnalytics, Яндеркс.Директ, и еще черт знает какого количеством подобных сервисов.
                                                                      0
                                                                      может
                                                                        0
                                                                        помоему это очень хороший и удобный сервис для маленьких и тестовых проектов.

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

                                                                        конечно для продакшион проджектов такое использовать не рекоменуется.
                                                                        вот у меня сразу вопрос.. они конечно сосут статистику, можно даже посмотреть какую, а вот влияет ли это как-то на TRUST сайта, задержку перед началом индексирования нового сайта, продвижение его в песочнице? думаю что нужно поставить эксперимент. вопросов много.. насколько этот сервис интегрирован с другими. наверняка обратная связь есть, только как она работает?
                                                                          0
                                                                          Отлично! Очень полезная стать!
                                                                            0
                                                                            Вижу один плюс: одно и то же не будет грузится по 100 раз с разных сайтов.
                                                                              0
                                                                              В поиске Яндекса <a=href=«js.static.yandex.net/jquery/1.3.2/_jquery.js»>присутствует jQuery.
                                                                              Как считаете — разумно брать его для своего проекта? Ведь многие юзают поиск Яши и значит jQuery уже закеширован.
                                                                                0
                                                                                а яндекс потом не запретит? официально яндекс не CDN :)
                                                                                  0
                                                                                  Вот я о том же, не нашел информации, что у Яндекса можно забирать с его же разрешения.
                                                                                  Ради интереса поставил на один сайтик :)
                                                                              • НЛО прилетело и опубликовало эту надпись здесь

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

                                                                                Самое читаемое