Fonte de Código

Limpo, fluído e refrescante
 

29.7.10

Google Code

Se você é desenvolvedor de websites e conhece alguma coisa de javascript, certamente já ouviu falar nas bibliotecas de código livre (open-source javascript libraries). Elas facilitam muito o trabalho porque já trazem inúmeras funções recorrentes ao desenvolvimento prontas, de modo que quase nunca precisamos iniciar uma nova função do zero (ah não ser que ela seja bastante original ou exótica).

O grande problema de usar essas bibliotecas é que precisamos incluir um arquivo javascript relativamente pesado na página. Alguns, como o JQuery, não passam de 56Kb (31Kb na versão de arquivo comprimido) – já outros, como o Prototype, podem passar dos 160Kb de includes, quando usado juntamente com os efeitos do Scriptaculous.

Muitas vezes esse tempo de loading acaba não compensando, mesmo se considerando as velocidades atuais (já que, principalmente no Brasil, temos uma das piores bandas largas do mundo). Algumas estratégias para contornar o problema geralmente passam pelo uso das bibliotecas apenas em certas páginas internas – como álbuns de fotos ou formulários com validação "elaborada" –, deixando a home livre do peso do loading desses includes... Mas eu acabei encontrando uma solução melhor, que pode se enquadrar em qualquer cenário, principalmente para websites pequenos ou hospedados em servidores modestos.

Ocorre que a Google (acredito que dispense maiores apresentações) hospeda as bibliotecas mais famosas em seus servidores, e gratuitamente. Para inserir o Prototype com Scriptaculous em seu website, por exemplo, você nem precisa ter os arquivos javascript hospedados em seu servidor – basta chamá-los dessa maneira:

<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
  google.load("prototype", "1.6.0.3");
  google.load("scriptaculous", "1.8.2");

  google.setOnLoadCallback(function() {
    $.getJSON("http://ajax.googleapis.com/ajax/services/search/web?q=google&v=1.0&callback=?",

      function (data) {
        if (data.responseData.results &&
            data.responseData.results.length > 0) {
          var results = data.responseData.results;
          
          for (var i=0; i < results.length; i++) {
            alert(results[i].titleNoFormatting);
          }    
        }
        
      });
    });
</script>

Com isso estamos chamando os arquivos diretamente dos servidores da Google, evitando o uso de banda de nossa hospedagem e servindo os usuário de nosso website com uma velocidade de download bem superior a de 95% dos websites do planeta. Vejamos o que ganhamos e perdemos com isso:

Prós
– As versões das bibliotecas se atualizam automaticamente. Se não chamarmos uma versão em específico, será usada sempre a versão estável mais atual.
– A velocidade de download dos arquivos será quase sempre superior nos servidores da Google, de modo que o problema do tempo de loading de arquivos mais pesados (como o Prototype) é bastante minimizado.
– Muito provavelmente o fato de chamar constantemente os servidores da Google ajudará também a manter o website bem posicionado nas pesquisas da própria Google (SEO).

Contras
– Quando a Google estiver fora do ar, o javascript em seu website ficará quebrado. A questão é que a Google provavelmente passará muito menos tempo fora do ar do que o seu próprio servidor de hospedagem, a não ser que seu site seja um portal com grandes níveis de acesso (hospedado em servidores de ponta).

Como pode ver, acredito que os Prós são facilmente superiores aos Contras.

Eu uso esse método para chamar o Prototype com Scriptaculous no meu site de portfólio – na verdade eles servem para fazer funcionar o lightbox das imagens:

Ver meu portfolio (Ayon)


***

» Visite a Google Libraries API (Google Code)

» Veja o guia de como chamar as bibliotecas públicas em seu website


Marcadores: , , , , , , ,

  • Adicionar ao Delicious
  • Adicionar ao Digg
  • Adicionar a Technorati
  • Adicionar ao seu mural no Facebook
  • Adicionar como tweet no seu Twitter

0 comentários:

Postar um comentário

<< Home