Por que eu devo ler este artigo:Este artigo é útil por apresentar uma série de conceitos importantes acerca da biblioteca cross-browser JavaScript do Google para lidar com a manipulação do DOM, estruturas de dados e muito mais. Você aprenderá seus principais recursos através de uma implementação que leva em consideração o consumo dos serviços hospedados publicamente nos serviços do Yahoo Open Data Tables, o qual fornece várias APIs reais para consulta pública via linguagem de query própria. Ao final, você também estará apto a configurar seu ambiente, dar os primeiros passos e começar a se aventurar no universo do Google Closure por si só.

O Google possui um trio de tecnologias de código aberto destinado a desenvolvedores que escrevem aplicações JavaScript em grande escala. Incluído no primeiro release estavam o Closure Compiler, um sofisticado compilador JavaScript, o Closure Library, uma enorme biblioteca de código JavaScript projetada para uso com o referido compilador, e o Closure Templates, um sistema de templates implementado em JavaScript e Java.

Essa é a tecnologia que tem alimentado as features do Gmail e vários outros aplicativos de alto perfil do Google (Google Docs, Reader, Calendário, Maps, entre outros). O Google designou que essa seria sua biblioteca padrão para aplicativos baseados em JavaScript. O Closure Tools, por sua vez, é uma biblioteca que foi projetada com objetivos diferentes dos de outras bibliotecas populares, como o jQuery e o Prototype.js.

Para pequenas aplicações, blogs, galerias de design ou sites de conteúdo estático que só precisam de alguma validação de formulário simples, o Closure é provavelmente um exagero. Ele é comumente associado a soluções dinâmicas, como o Closure Compiler, que permite uma pegada eficiente para aplicações de qualquer tamanho e escalabilidade. No entanto, a curva de aprendizagem é bastante íngreme, há muito menos exemplos e você precisa encontrar uma maneira de integrar o compilador em seu fluxo de trabalho. Com uma biblioteca como o jQuery, basta adicionar uma referência de script (se estiver usando um CDN, por exemplo, não é necessário sequer fazer o download físico do arquivo) e iniciar a codificação à distância.

Portanto, além das grandes aplicações web do Google, o Closure serve para quê? Ele é uma excelente opção a se considerar para qualquer aplicação de tamanho médio e grande, independentemente do nicho de tecnologias usadas no back-end da mesma. Essas aplicações quase sempre envolvem vários desenvolvedores e são suscetíveis de conter pelo menos 100kbytes de código fonte quando referentes a bibliotecas de terceiros. Se não houver um sistema de build estabelecido para combinar os scripts, uma página média de uma aplicação desse tamanho provavelmente faz referência de 5 a 10 scripts externos, se não mais.

Se o seu aplicativo alcançou esse nível de complexidade (ou você tenha projetado para alcançá-lo), este é um bom ponto de partida, onde os benefícios do Closure começam a se tornar significativos. O impacto do Closure Compiler na velocidade da execução do seu código e tamanho será significativo, e é provável que você esteja em posição de se beneficiar de uma grande parcela da Closure Library também. Vamos dar uma olhada nos dois principais componentes do Closure Tools.

Closure Compiler

O Closure Compiler é sem dúvida o componente principal do Closure Tools. Ele suporta dois modos de otimização primária: a “minificação” (onde o conteúdo inteiro do arquivo é posto em uma só linha) e a “compilação avançada”.

Os minificadores JavaScript não são algo novo na comunidade de desenvolvimento. Um compilador JavaScript sequer é necessariamente algo novo também, assim como os compiladores de outras linguagens também têm abordado por algum tempo essa questão de compilar seus códigos nativamente. O que é único sobre o Closure Compiler é que é um compilador JavaScript-to-JavaScript capaz de realizar otimizações de código que antes eram desconhecidas e impossíveis de serem feitas com ferramentas convencionais. O Closure Compiler pode ser usado como um componente independente em uma base de código JavaScript existente, ou em conjunto com a Closure Library, que foi concebida para uma máxima otimização quando usada com o compilador. É mais fácil entender o poder desses recursos avançados de compilação por meio de um exemplo simples. Considere o script da Listagem 1.

Listagem 1. Exemplo de script simples no Closure.

function naoUsado() {
    alert('sou chamado apenas após uma função não chamada');
  }
  function  ... 

Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO

Desbloqueie toda a DevMedia

  • +2000 artigos e vídeos
  • +40 trilhas sobre Front-end, Back-end, IA e muito mais
  • +5000 exercícios práticos
  • Mentorias ao vivo individuais
até 50% OFF
A partir de
R$ 79 /mês
Assinar agora