Introdução ao GWT
Autor: Emmanuel Silva | Publicado: 2010-07-18T14:12:00-03:00

&nbsp;Pessoal, como tenho bastante interesse em falar sobre o GWT e suas vantagens no Blog, vou começar com esse post falando um pouco sobre o que é o GWT e um pouco do que ele pode fazer, assim mais para frente nós podemos ir avançado sobre o assunto falando sobre componentes e criando GUI avançadas de forma bem pratica. Espero que gostem!

O que é GWT

O Google Web Toolkit é um framework para o desenvolvimento de interfaces ricas com Java. É algo drasticamente diferente desenvolver aplicados web, bem diferente de como usamos com JSP/JSF/Struts... Etc. Pois a idéia principal do GWT é escrever o código de nossas interfaces WEB em código Java, esse código será compilado para um código Javascript já otimizado pelo compilador e funcional para os navegadores utilizados no mercado (IE, Firefox, Safari, Opera ...etc) .

Isso facilita e agiliza bastante o desenvolvimento de aplicativos WEB, pois não precisamos ficar escrevendo Javascript&nbsp; que tenha suporte em todos os navegadores e podemos usufruir de todas as funcionalidades presentes no Javascript e da reutilização de componentes de uma forma bem pratica, podemos utilizar também ferramentas de testes para verificar se uma interface está cumprindo o que prometeu.

Possui também um mecanismo de comunicação com o código cliente e servidor assíncrono, chamado de RPC (Remote Procedure Call) que pode trabalhar com vários protocolos como JSON ou XML é bem parecido com um código RMI de forma bem mais simples, que na pratica a pagina web gerada se comunica com o servidor utilizando o AJAX de forma transparente.

Você conferir a própria pagina do GWT, que está em Português e pode ajudar bastante: http://code.google.com/intl/pt-BR/webtoolkit/overview.html.

Casos de aplicativos que usam o GWT

Você pode ver alguns exemplos de aplicativos que foram feitos em GWT nesse link http://gwtgallery.appspot.com/

Alguns pontos positivos
Possui todos os componentes HTML como botões, input text, checkbox e alguns outros compoonentes como Tree, Menu e também já existem bastantes bibliotecas com vários recursos e componentes interessantes (mais para frente falo sobre eles).
Possui recursos de internacionalização
Suporte a analise de documentos XML.
Possui suporte a todos os tipos primitivos (byte, char, short, int) e suas classes wrappers (Byte, Char, Short, Integer), a única exceção é o long que é convertido para o tipo Double no javascript e por isso é recomendado a usar Int ao invés de long.
Pode se trabalhar diretamente com exceções, checadas e não checadas, as existentes na API do Java e também pode se criar novas exceções.
Plugin para as IDE´s do mercado como Eclipse, Netbeans, IntelliJ, você pode debugar, compilar, criar novos Widgtes de forma pratica e rápida em seu ambiente de desenvolvimento preferido.

Alguns pontos negativos

Como nem tudo é um mar de rosas, também possui algumas desvantagens:
Se estiver pensando em desenvolver um pagina WEB com foco em SEO, não use o GWT, pois o código gerado não é nenhum pouco entendível para os buscadores, pois trabalha com Javascript, existem algumas formas que pode ajudar mais irá perder bastante com relação a uma pagina com HTML bem semântico.
O processo de compilação do GWT ainda não é o mais performático, dependendo de como sua aplicação foi desenhada, a compilação pode ficar lenta.
O tamanho da aplicação (seu arquivo de distribuição .war ou .ear), é maior do que comparado com um aplicativo que utiliza JSF ou qualquer framework baseado em tag´s.

Por enquanto é isso, nos próximos posts vou demonstrar na pratica todo esse bla-bla-bla que foi dito ai em cima criando um exemplo simples utilizando o Netbeans e o Eclipse.

Abraços e até a próxima.