My favorites | Português | Sign in

Google Web Toolkit

Visão geral do produto

Atualmente, criar aplicativos para a web é um processo tedioso e com alta incidência de erros. Os desenvolvedores podem passar 90% do tempo trabalhando para contornar peculiaridades do navegador. Além disso, a criação, a reutilização e a manutenção de grandes bases de código JavaScript e componentes AJAX pode ser difícil e delicada. O Google Web Toolkit (GWT) facilita esse processo, permitindo que os desenvolvedores criem rapidamente e mantenham aplicativos front end JavaScript complexos e de alto desempenho na linguagem de programação Java.

Como funciona o Google Web Toolkit

Com o Google Web Toolkit (GWT), você cria o front end AJAX na linguagem de programação Java e o GWT, então, faz a compilação cruzada para o JavaScript otimizado que funciona automaticamente com todos os principais navegadores. Durante o desenvolvimento, é possível criar rapidamente como no JavaScript, no mesmo ciclo "editar - atualizar - exibir" com o qual você está acostumado, com a vantagem adicional de poder depurar e percorrer o código Java linha por linha. Quando você estiver pronto para implementar, o GWT compilará o código fonte Java nos arquivos independentes otimizados JavaScript. Crie com facilidade um widget para uma página da web ou todo um aplicativo usando o Google Web Toolkit.

Crie aplicativos AJAX na linguagem Java e, depois, compile em JavaScript otimizado.

Ao contrário dos minifiers JavaScript que funcionam somente em nível textual, o compilador GWT executa análises estáticas abrangentes e otimizações em toda a base de códigos do GWT, produzindo freqüentemente JavaScripts que carregam e executam mais rapidamente do que um JavaScript equivalente criado por você. Por exemplo, o compilador GWT elimina código sem função com segurança, cortando agressivamente classes, métodos, campos e mesmo parâmetros de métodos não utilizados, para garantir que o script compilado seja o menor possível. Outro exemplo: o compilador GWT incorpora métodos de forma seletiva, eliminando os excessos das chamadas do método.

A compilação cruzada permite que você mantenha as abstrações e a modularidade necessárias para o desenvolvimento, sem prejudicar o desempenho do tempo de execução. Saiba mais

Fluxo de trabalho de desenvolvimento

Edite o código Java e, depois, exiba as alterações imediatamente, sem recompilar.

Durante o desenvolvimento, visualize as alterações no código imediatamente, usando o navegador em modo hospedado do GWT. Não há necessidade de compilar em JavaScript ou implementar em um servidor. Basta fazer as alterações e clicar em "Atualizar" no navegador em modo hospedado.

Integre o código AJAX ativo com o depurador Java

Durante a produção, seu código é compilado em JavaScript, mas durante o desenvolvimento, ele é executado como bytecode no Java Virtual Machine. Isso significa que, quando seu código executa uma ação, como por exemplo um evento do mouse, ocorre uma depuração Java completa. Tudo o que o depurador Java pode fazer se aplica ao código GWT também, portanto, coisas como pontos de quebra e passo único, estão naturalmente disponíveis. Saiba mais

Compile e implemente JavaScript otimizado entre navegadores

Quando você estiver pronto para implementar, o GWT compilará o código Java nos arquivos independentes simples JavaScript que poderão estar em qualquer servidor da web. Além disso, os aplicativos GWT suportam automaticamente IE, Firefox, Mozilla, Safari e Opera, sem necessidade de detectar o navegador ou criar casos especiais no programa. Você cria o mesmo código uma vez e o GWT o transforma no JavaScript mais eficiente para o navegador específico de cada usuário. Saiba mais

Dica: se você for um usuário do Eclipse, talvez ache o Plug-in do Google para o Eclipse útil.

Recursos

Comunique-se com o servidor através de RPC muito simples

O GWT suporta um conjunto ilimitado de protocolos de transferência, como JSON e XML, mas o GWT RPC torna todas as comunicações Java particularmente fáceis e eficientes. De forma semelhante ao tradicional Java RMI, basta criar uma interface que especifique os métodos remotos que você desejaria chamar. Quando você chama um método remoto do navegador, o GWT RPC serializa automaticamente os argumentos, invoca o método adequado no servidor e desserializa o valor de retorno para o código cliente. O GWT RPC é também bastante sofisticado. Ele pode lidar com hierarquias de classe polimórficas, ciclos gráficos de objetos e você pode até mesmo transmitir as exceções pela rede. Saiba mais

Otimize os downloads de script JavaScript com base no perfil de usuário

Ligação adiada (Deferred binding) é um recurso do GWT que gera muitas versões do seu código compilado, sendo que apenas uma delas precisa ser carregada por um cliente específico durante o bootstrapping no tempo de execução. Cada versão é gerada com base no navegador, juntamente com qualquer outro eixo definido ou utilizado pelo aplicativo. Por exemplo, se você deseja internacionalizar o aplicativo usando o módulo de internacionalização do GWT, o compilador gera versões do aplicativo de acordo com o ambiente do navegador, como "Firefox em inglês", "Firefox em francês", "Internet Explorer em inglês", etc. Como resultado, o código JavaScript implementado é compacto e o download é mais rápido do que se tivessem sido codificadas instruções if/then em JavaScript. Saiba mais

Reutilize componentes de interface do usuário entre vários projetos

Crie Widgets reutilizáveis em conjunto com outros Widgets e, depois, disponha todos eles automaticamente em Painéis. O aplicativo GWT Showcase oferece uma visão geral dos vários recursos de interface do usuário no GWT. Deseja reutilizar seu Widget em outro projeto? Basta criar um pacote para que outros desenvolvedores possam usá-lo em um arquivo JAR. Saiba mais

Utilize outras bibliotecas JavaScript e código JavaScript nativo

Se a biblioteca de classes do GWT não atender às suas necessidades, você poderá misturar JavaScript criado por você no código fonte Java, usando a JavaScript Native Interface (JSNI). Com o GWT 1.5, agora é possível subclassificar a classe GWT JavaScriptObject (JSO) para criar "sobreposição de classes" Java em objetos arbitrários JavaScript. Assim, você pode ter as vantagens de modelar objetos JS como tipos próprios Java (por exemplo, finalização do código, otimização, incorporação) sem memória adicional ou velocidade elevada. Essa capacidade possibilita o uso de estruturas JSON de forma otimizada. Saiba mais

Suporte com facilidade o botão voltar e o histórico do navegador

Os aplicativos AJAX não precisam quebrar o botão de voltar do navegador. O GWT torna seu site mais usável, adicionando facilmente o estado ao histórico do botão voltar do navegador. Saiba mais

Localize aplicativos com eficiência

Crie facilmente aplicativos e bibliotecas eficientes internacionalizados utilizando as poderosas técnicas de ligação adiada (deferred binding) do GWT. Além disso, a partir da versão 1.5, os widgets padrão do GWT suportam bidirecionalidade. Saiba mais

Seja produtivo com sua opção de ferramentas de desenvolvimento

Como o GWT usa Java, você pode usar todas as suas ferramentas favoritas de desenvolvimento em Java (Eclipse, IntelliJ, JProfiler, JUnit) para desenvolver em AJAX. Isso permite que um desenvolvedor da web ganhe produtividade na otimização automatizada Java e nos avisos/finalização de código. Além disso, a verificação do tipo estático da linguagem Java permite que os desenvolvedores identifiquem tipos de bugs de JavaScript (erros de digitação, falta correspondência) ao criar o código, em vez de encontrá-los na execução, melhorando a produtividade e reduzindo erros. É o fim das atribuições var acidentais descobertas pelo usuário. Finalmente, você pode aproveitar os padrões de design OO e abstrações baseadas em Java que são fáceis de entender e manter, sem que o seu usuário incorra em custos de desempenho na execução, graças às otimizações do compilador.

Teste seu código com JUnit

A integração direta do GWT a JUnit permite que você teste unidades em um depurador e em um navegador... e você pode até mesmo testar unidades de RPCs assíncronos. Saiba mais

Amplie ou contribua - o Google Web Toolkit é um software livre

Todo o código do GWT está disponível sob a licença Apache 2.0. Se estiver interessado em contribuir, visite Torne o GWT melhor.

Próximas etapas

Pronto para começar? Leia o Guia Primeiros passos para obter uma orientação passo a passo sobre a instalação e o tutorial. A partir daí, continue com o tutorial GWT detalhado, que traz orientações referentes aos principais recursos do Google Web Toolkit.