Google Web Toolkit (GWT) Alunos: Luiz Felipe Köhler Marco Túlio Venturelli Nascimento Sumário Visão Geral: Problemas no desenvolvimento para web Uma possível solução GWT O que o GWT oferece? Vantagens Desvantagens Conclusão Referências Aplicação exemplo Problemas no desenvolvimento para web Grande parte do tempo usado para contornar peculiaridades de navegadores; Necessidade de dominar várias tecnologias heterogêneas; Reutilização e manutenção de grandes bases de có digo JavaScript e componentes AJAX pt e componentes AJAX pode ser difícil e delicado; Difícil de debugar. Uma possível solução Utilizar o Google Web Toolkit (GWT) para facilitar processo de criação, reutilização e manutenção de aplicativos web. Características: Uma única linguagem para desenvolver tanto para cliente, quanto para o servidor; Possui compilador que traduz o código Java no cliente em JavaScript e DTHML; GWT cuida das diferenças entre os navegadores; Minimiza o tamanho do código. O que o GWT oferece? Debug no navegador através de plugin: Aplicação é executado como bytecode Java na JVM, sendo ideal para o desenvolvimento porque suporta hot swapping de código e depuração. Inclui grandes bibliotecas cross-browser : Interface com usuário : DOM, widgets, ... Comunicação cliente/servidor : RPC, JSON, … Deferred Binding: Um JavaSript específico para cada browser (DOMIplements) O que o GWT oferece? Redução do tamanho dos scripts e aumento da velocidade de compilação: Aplicação inicia e roda mais rápido Divisão do código : Alta alavancagem, o caminho de baixo risco de espalhar o tempo de download Layout mais confiável: Menos tempo ”brigando” com CSS e um layout mais rápido Algumas outras vantagens... Erros encontrados em tempo de compilação Integração completa com Junit (incluindo suporte ao teste Unitário) Disponível para Windows, Linux e Mac Economia de Espaço (além de reduzir o tamanho do código, os trechos não utilizados são eliminados) Algumas outras vantagens... Processo de download diferenciado; Suporte a internacionalização padrão do Java ( I18n I18n); Controle total sobre a aplicação e possibilidade de extensão utilizando a JSNI (JavaScriptNativeInterface); Speed Tracer (Chrome); Plugin para eclipse, netbeans, etc.. Desvantagens Não é possível utilizar todas as classes do Java no lado cliente, apenas um conjunto delas. Há menor controle sobre o código do cliente no aplicativo Difícil de debugar CSS Difícil de simular integração com outras tecnologias (ex. Flash) Conclusão GWT é uma ferramenta poderosa para o desenvolvimento web, que facilita muito a produção de aplicativos. Dentro todas as vantagens que foram vistas, as três que se destacam nos fazem acreditar que GWT será cada vez mais aceito pelos desenvolvedores web: a utilização do Java, devido a familiaridade que a maioria dos desenvolvedorem possuem com a linguagem, a melhora no desempenho do javaScript e não se responsabilizar pela solução de problemas de incopatibilidade com navegadores. Referências http://code.google.com/intl/en/webtoolkit/overview.html http://vinaytechs.blogspot.com/2009/09/google-web-toolkithosted-vs-web-mode.html http://www.oracle.com/technology/global/ladpt/pub/articles/dubois-gwt.html http://myhowtosandprojects.blogspot.com/2009/04/making-webpages-in-java-with-google.html http://loogica.wordpress.com/2007/01/04/gwt-parte-1-visaogeral/ Aplicação de exemplo... http://www.sencha.com/examples/#overview http://www.smartclient.com/smartgwt/showcase/#main