Friday, July 10, 2009

Iniciando na programação com GWT

Bom pessoal, eu vou começar agora com uma série de artigos explicando como programar utilizando o GWT - Google Web Toolkit.

Bom antes de começar vale a pena ressaltar algumas coisas sobre o GWT.

O GWT é um framework voltado principalmente para a criação da interface do site com o usuário, apesar de ser programado utilizando a linguagem JAVA. Outro ponto que confundem muitas pessoas é o fato dele ser programado em java, mas rodar no cliente. O fato é que o GWT "compila" o codigo escrito em java para javascript, para que ai sim ele possa rodar no navegador do cliente.

Certo, mas porque usar o gwt? Quais beneficios reais ele realmente traz?

Bom respondo essa pergunta utilizando por base os projetos que ja realizei na carreira (codificando diretamente o javascript) e o meu projeto caseiro atual. Com isso levanto alguns pontos:
  • Velocidade e complexidade de codificação: É muito mais simples e rápido criar uma interface utilizando GWT do que programar diretamente utilizando javascript. Interações dinâmicas com o servidor e com o cliente foram criadas de maneira fácil e transparente.
  • Manutenção do código: o código ficou muito mais organizado e fácil de manter, além de não ter nenhum bug.
  • Orientação a objetos: É muito mais simples manter e reusar o codigo, utilizando a orientação a objetos do java.
  • Gerenciamento do CSS: Pode-se deixar a cargo do próprio gwt fazer o carregamento dos arquivos CSS, acelerando ainda mais o carregamento da página.
  • Velocidade de carregamento da página: O GWT cria um codigo obfuscado, que alem de carregar apenas a parte do codigo realmente importante(faz o carregamento do javascript por blocos), aumenta em muito o carregamento da página. Outra vantagem do gwt é a criação de sprites de imagens automáticos, diminuindo o tempo de carregamento das imagens também.
  • Segurança e estabilidade: O código javascript gerado pelo GWT é obfuscado, o que já gera uma dificuldade maior de estranhos entenderem o que esta codificado. Por gerar uma versão otimizada para cada navegador o gwt também melhora a velocidade de processamento da página, e possibilita que até mesmo navegadores com recursos mínimos de javascript (como o opera mini para celulares com java) consigam navegar no site e ate mesmo interagir com ele, sem que o programador precise codificar especificamente para isso.
  • Integração com outros frameworks: o GWT permite ainda q se crie métodos nativos do javscript (que inclusive podem chamar outros métodos java). Com isso fica fácil integrar o gwt com outros frameworks, como jquery. Inclusive o extjs já criou uma biblioteca para o gwt, denominada gxt.
  • Integração com as APIs do próprio Google: o gwt possui uma ótima integração com as outras APIs do google. O próprio plugin do eclipse já cria um projeto com GWT + google app Engine. Diversos gráficos da visualization API também já foram portados para o gwt e também outras APIs, como a friend connect, google accounts, translation, maps e outras.
Bom, essas foram as minhas primeiras impressões sobre o GWT.
Nos próximos posts, eu vou começar a falar sobre o desenvolvimento em si da aplicação the waybetter.

Até lá

1 comment:

  1. Gostei da introdução sobre o GWT, fiquei curioso com relação aos outros posts, pois tenho um enorme interesse em aprender sobre essa framework da google, que apesar de me parecer difícil se é da google deve ser bom!

    ReplyDelete