23/01
2010

O Google AJAX Libraries API é um serviço que possibilita o carregamento remoto de frameworks JavaScript a partir de seus servidores. Com ele você pode, por exemplo, fazer com que o seu site carrege o código fonte do jQuery diretamente dos servidores do Google. O serviço está em operação deste 2007.

O framework JavaScript do Yahoo!,YUI, sempre recomendou que seus códigos fossem carregados remotamente. Este post do Ajaxian elenca uma série de vantagens. Destaco algumas delas:

  • caching é feito corretamente; desenvolvedores não precisam mais se preocupar com isso
  • gzip funciona
  • a CDN do Google, distribuida em vários lugares do mundo, possibilita que os arquivos hospedados estejam “próximos” do usuário
  • se uma quantidade significativa de websites utilizar a mesma URL para carregar um determinado framework, quando alguém entrar no seu site pode ser que este arquivo já tenha sido carregado

Faz bastante sentido para mim. Claro que se por um acaso os servidores do Google ficarem indisponíveis, ou o serviço descontinuado, você terá graves problemas. Além disso, os mais paranóicos podem afirmar que este é apenas mais um método desenvolvido para colher informações de usuários. Mas isso com certeza não impede que as pessoas continuem utilizando Gmail ou Analytics.

Outro potencial problema é que você fica dependente de uma conexão com a internet para desenvolver. A vantagem é que a maioria dos desenvolvedores não consegue mesmo trabalhar offline. Nosso trabalho já depende demais ferramentas online para isso ser uma preocupação genuína.

Como funciona?

Existem dois jeitos de se utilizar o serviço. O primeiro, é mais “estático” e simples. O processo é igual ao que você já faz: para incluir um framework, como MooTools, Dojo, jQuery, você deve incluir script src=”" em seu html. Basta fazer com que o atributo src desta tag aponte para uma URL do serviço: http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js. Este link leva diretamente para a versão minificada do jQuery 1.4 (que hoje é a mais atual).

O segundo jeito, mais “dinâmico”, consiste em incluir utilizando script src=”" o código fonte da API Ajax do Google: http://www.google.com/jsapi. Com este código disponível, você pode carregar os frameworks. Vamos incluir novamente o jQuery utilizando o método estático:

google.load("jquery", "1"); // obtém a última versão da família 1 (que hoje é a 1.4)
google.setOnLoadCallback(function() {
 
    $(function(){
        alert('Olá');
    });
 
});

A vantagem desta forma é que, com ela, você pode definir, como no exemplo acima, que quer pegar a versão mais atual do jQuery família de versão 1. É possível ser mais específico:

// obtém versão 1.3.2 (que é a última da família 1.3)
google.load("jquery", "1.3"); 
 
// obtém especificamente a versão 1.2.6 sem compressão
google.load("jquery", "1.2.6", {uncompressed:true});

É uma funcionalidade um pouco mais difícil de implementar mas sem dúvida interessante, pois permite que o seu código sempre utilize a versão mais atual de uma determinada família.

1 comentário até agora

Comente!
  1. Para corrigir um possivel erro de quando o servidor do google estiver off (muito dificil) voce pode fazer uma simples verificação.

    crie uma tag script logo abaixo da script do google, adicione o codigo abaixo e altere o caminho do arquivo.

    //<![CDATA[
    	if(!window['jQuery'])
               document.write('<script type="text/javascript" src="caminho/jquery.js"></script>');
    //]]>

    abrc.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes