O Google Code é oferecido em: English - Español - 日本語 - 한국어 - Português - Pусский - 中文(简体) - 中文(繁體)
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.
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
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.
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
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.
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
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
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
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
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
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
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.
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
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.
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.