• Nenhum resultado encontrado

Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva

N/A
N/A
Protected

Academic year: 2021

Share "Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva"

Copied!
8
0
0

Texto

(1)

Google Web Toolkit*

Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva

Universidade Federal de Juiz de Fora – UFJF-MG

Campo Universitário – Bairro Marmelos – Juiz de Fora – MG – Brasil

1. Introdução

O framework GWT que vêm do acrônimo Google Web Toolkit, é uma ferramenta para construção de interfaces web mais amigáveis e rápidas. O GWT foi feito para facilitar e agilizar o processo de desenvolvimento das interfaces de aplicações web utilizando AJAX (Asynchronous Javascript And XML).

O desenvolvimento de aplicações que utilizam o conjunto de tecnologias que hoje são chamadas de AJAX já é lugar comum, mas todo esse movimento trouxe novos problemas, como o aumento considerável da quantidade de código JavaScript em aplicações web. Essa volta do JavaScript a tona no mercado trouxe problemas da não tão distante guerra dos navegadores web, onde cada fornecedor (na época a Microsoft e a Netscape) implementavam a linguagem JavaScript de uma forma diferente[GEARY, 2009].

Isso terminou por gerar problemas, principalmente para os desenvolvedores, que tinham reescrever partes intera das aplicações para garantir a compatibilidade entre os diversos navegadores. A implementação diferenciada do AJAX pelos navegadores atuais trouxe mais uma vez o fantasma da incompatibilidade do JavaScript para a vida dos desenvolvedores.

Hoje, com o grande apelo dessa nova tecnologia, surgiram diversos frameworks que prometem simplificar o desenvolvimento de aplicações utilizando AJAX e um destes frameworks é o GWT, desenvolvido dentro do Google e liberado pelos seus desenvolvedores como software livre [DINIZ, 2009].

Diferentemente de outros frameworks, que normalmente fazem com que você ainda tenha que escrever “ganchos” em JavaScript para a sua aplicação utilizar as facilidades do AJAX, o GWT deixa com que você escreva o código da aplicação completamente em Java, para que você possa ter todas as facilidades que o desenvolvimento Java provê. Como ambientes de desenvolvimento integrados de alta qualidade, tipagem estática e debug nativo [DINIZ, 2009].

Depois de escrita a aplicação, um compilador especial transforma o código Java em código JavaScript nativo, para que ele possa executar no navegador cliente. E como imaginado, os desenvolvedores do projeto se preocuparam com a compatibilidade e fizeram com que o código gerado fosse garantidadamente compatível com os navegadores mais utilizados da atualidade [DINIZ, 2009].

A abordagem to GWT, entretanto, tem uma desvantagem, pois como o código Java é transformado em código JavaScript para executar no navegador, apenas algumas classes do Java estão disponíveis para uso (em sua maioria classes dos pacotes “java.lang” e “java.util”) e funcionalidades avançadas da linguagem (como acesso a bancos de dados) tem que ser feitos utilizando o suporte a invocação remota de métodos do GWT, que faz a ponte entre a aplicação no navegador e o código Java no servidor [JUNIOR, 2009].

2. O que é GWT

O GWT é o framework AJAX da Google. Na prática AJAX proporciona aos usuários umas experiências mais ricas, semelhantes à interatividade atingida nos sistemas desktop. Um bom exemplo de aplicação AJAX é o Google Maps.

Uma aplicação escrita em GWT é basicamente dividida em duas partes: Cliente

(2)

Cliente é onde “a mágica acontece” é o local onde o compilador traduz o código Java para

Javascript. Nesse local ocorrem as maiores limitações. Dispõe-se apenas de algumas classes da API Java como, por exemplo, os tipos básicos da linguagem, seus respectivos wrappers. Algumas classes do Collections Framework. A maior parte do código escrito no lado do cliente é derivada dos componentes, Widgets, fornecidos pela API. As classes disponibilizadas no pacote

com.google.gwt.user.client.ui este pacote contém os componentes gráficos.

Servidor a liberdade é total, inclusive para usar as novas funcionalidades da API 6.0 de Java.

Toda a estrutura de acesso à banco de dados e qualquer outra tecnologia devem permanecer no servidor.

Funcionamento do GWT

2.1. Por que o GWT?

Fazer um sistema de informação em Java envolve muito mais tarefas do que simplesmente a codificação do sistema. Atualmente até mesmo a tarefa de escolher as tecnologias que serão

(3)

A grande diferença destas novas opções é que o seu resultado é muito mais bonito que uma página HTML tradicional (e isto é obtido com muito menos esforço). Porém, o bom e velho HTML ainda é (e será por muito tempo) útil, pois seja em desktops quanto em dispositivos móveis, qualquer coisa que tem conexão com a web possui automaticamente alguma forma de mostrar conteúdo HTML.

Sendo assim, GWT é a opção para quem quer publicar suas aplicações web, porém prefere codificar em Java do quê em Javascript.

Características:

Compilador que transforma código Java em JavaScript; Gera apenas código utilizado (Economia de espaço); Cria versões da aplicação para cada tipo de browser; Dividida em Cliente e Servidor;

Usa os famosos princípios de Remote Procedure Call (RPC).

Vantagens:

Evita incompatibilidades entre browsers e plataformas; Erros encontrados em tempo de compilação;

Suporte o teste Unitário com Junit; Elimina trechos de código não utilizados; Disponível para Windows, Linux e Mac; Projeto Open-Source da Google; Não é necessário saber Java-Script; Economia de Espaço;

Processo de download diferenciado;

É possível utilizar qualquer “debugger” Java com o GWT; O código gerado é compatível com a maioria dos navegadores; Suporte especial ao botão “voltar” do navegador;

Integração completa com o JUnit;

Suporte a internacionalização padrão do Java;

Controle total sobre a aplicação e possibilidade de extensão utilizando a JSNI (JavaScriptNativeInterface);

(Quase) todo o código escrito é Java, nada de absurdos de JavaScript; Muitos componentes;

Desvantagens:

Nem todas as classes da biblioteca padrão de Java são emuladas; Há menor controle sobre o código do cliente no aplicativo.

(4)

3. Preparando o Ambiente

É necessário que você faça o download do arquivo que contém o framework, ele está disponível em (infelizmente só existem versões das ferramentas de desenvolvimento para Windows, Linux e Mac, mas as aplicações geradas executam na maioria dos navegadores): http://code.google.com/webtoolkit/download.html

Além do framework, é interessante que você utilize um ambiente de desenvolvimento (como o Eclipse ou NetBeans) e tenha também o Ant instalado na sua máquina. O Ant está disponível em: http://ant.apache.org/

Após fazer o download do arquivo do framework, você deve colocar a pasta descompactada no PATH do seu sistema operacional, para que as ferramentas de linha de comando possam ser executadas com facilidade. Ao instalar o Ant, lembre se de definir a variável de ambiente JAVA_HOME apontando pro diretório onde foi instalado o seu Java Development Kit (JDK) e de colocar a pasta “bin” da instalação do Ant também no PATH do seu sistema operacional, para poder executar as chamadas ao Ant pela linha de comando. Veja no link abaixo um vídeo de instalação do GWT com eclipse:

http://www.youtube.com/watch?v=nBssbdGFmko&feature=player_embedded

Observação:

O Ant é uma ferramenta para a automação de builds no seu projeto, por exemplo, atualiza o

classpath, compila o código separando os .java e os .class em diretórios distintos, gera javadoc do

projeto, configura e executa a aplicação. Entre suas maiores virtudes o fato de ser independente de sistema operacional, pois é feito em Java.

Por que usar Ant se meu IDE favorito faz muitas dessas funções?

Porque Ant além de ser independente de sistema operacional, também é independente de IDE além das principais IDEs do mercado já trabalharem com o Ant hoje.

Primeiro passo:

O Ant é um projeto open source, produzido pelo grupo Jakarta da Fundação Apache. Para trabalhar com o Ant você precisa de:

J2SDK instalado, pois o Ant é uma aplicação Java Ant (lógico). Lembre-se: muitas IDEs já vem com o Ant embutido (jedit, eclipse, etc..). Para aprender como tudo funciona é recomendado, instalar o Ant você mesmo! Você deve baixar o Ant aqui: http://jakarta.apache.org/ant/bindownload.cgi.

3.1. Rodando uma aplicação

Na pasta samples, dentro da pasta de instalação do GWT, existem alguns exemplos prontos para serem executados. Para isto, entre em alguma pasta dentro de samples e execute o arquivo: <nome programa>-shell.cmd (hosted mode)

OU

<nome programa>-compile. cmd (Web Mode)

Após a compilação (Web Mode), deve-se executar o arquivo html de mesmo nome da aplicação, contido na pasta www/<caminho da aplicação> A Figura 2 mostra a execução em Hosted Mode do exemplo Mail contido na pasta samples. Neste caso, para executar a aplicação

(5)

Mail-compile.cmd

Em seguida, deve-se abrir o seguinte arquivo no navegador: WWW/com.google.Gwt.Sample.Mail.Mail/Mail.html

Figura 2 - Rodando uma aplicação GWT

3.2. Criando Aplicações

O GWT provê um módulo (applicationCreator.cmd) para criação de aplicações por linha de comando, sem a necessidade de qualquer IDE. Na pasta de instalação do GWT, execute:

applicationCreator.cmd org.ufscar.client.HelloWorld (para criar a aplicação no diretório atual)

OU

applicationCreator.cmd –out <diretório de saída> org.ufscar.client.HelloWorld (para

especificar outro diretório de criação da aplicação)

A última pasta do caminho deve ser sempre “client”. Agora, execute:

HelloWorld-shell.cmd (Hosted mode) OU

(6)

3.3. Criando Aplicações com Eclipse

O Google Web Toolkit possui um módulo (projectCreator.cmd) responsável pela criação de projetos Eclipse. A sintaxe de execução é a seguinte:

projectCreator.cmd –eclipse <nome projeto> applicationCreator.cmd –eclipse <nome projeto> <nome aplicação>

Depois, basta abrir o projeto usando o Eclipse.

3.4. Criando Aplicações com NetBeans

Para a criação de aplicações para o NetBeans, pode-se usar o plugin “gwt4nb” disponível em https://gwt4nb.dev.java.net/. O uso do IDE NetBeans será o foco deste artigo. Crie uma nova aplicação Web, escolhendo o Framework Google Web Toolkit (figura 3).

Figura 3 - Criação de Uma Aplicação GWT no NetBeans

Antes de rodar a aplicação, certifique-se de que as bibliotecas dev-windows.jar”,

“gwt-servlet.jar” e “gwt-user.jar” estão inseridas no projeto. Caso elas não tenham sido inseridas

automaticamente, insira-as manualmente (Propriedades de Projeto -> Bibliotecas -> Adicionar JAR/Pasta) (veja Figura 4). Elas estão contidas na pasta de instalação do GWT.

(7)

Figura 4 - Adicionando as bibliotecas necessárias do GWT

3.4.1. Criando a primeira aplicação (NetBeans)

Crie uma nova aplicação Web, de nome ExemploGWT, escolhendo o Framework Google

Web Toolkit (Figura 2). O nome do módulo GWT pode ser qualquer um. Vamos usar

org.ufscar.HelloWorld.

Será criado o projeto ExemploGWT contendo nos pacotes de código fonte o arquivo HelloWorldEntryPoint.java (a classe principal) e o arquivo HelloWorld.gwt.xml (o arquivo que contém informações sobre o projeto).

Toda aplicação GWT inicia-se por uma classe específica, que implementa um EntryPoint que, para nós é a classe HelloWorldEntryPoint.java. O primeiro método que é executado chama-se onModuleLoad(). Certifique-se de que o projeto contenha as bibliotecas necessárias do GWT. São elas “gwt-dev-windows.jar”, “gwt-servlet.jar” e “gwt-user.jar”.

Caso as bibliotecas não foram inseridas automaticamente, insira-as manualmente (Propriedades de Projeto -> Bibliotecas -> Adicionar JAR/Pasta) (veja Figura 3). Elas estão contidas na pasta de instalação do GWT.

A figura 5 mostra a execução do projeto neste ponto. Obs.: A execução em IDEs sempre cria a versão web da aplicação.

(8)

4. Conclusão

Observamos que para quem já desenvolve para web o GWT é um modo de trabalho que veio para ficar, pois além de utilizar Frameworks facilita muito na criação aplicações em AJAX, além do que o resultado final é muito mais agradável. Todavia novos Frameworks ainda estão surgindo para resolver outros problemas, entretanto o código produzido por GWT é compatível com os browsers mais utilizados no mercado.

E fazer como que o código HTML + CSS + Javascript gerado por um código Java funcionar bem em todos os browsers não é uma tarefa das mais triviais.

O Google Web Toolkit é uma plataforma muito interessante e sem dúvida será cada vez mais requisitada na medida em que esta utiliza uma linguagem muito popular, o Java. Embora alguns dos seus componentes ainda tenham alguns bugs, está constantemente a ser corrigida e aperfeiçoada, tornando-se cada vez melhor a cada versão disponibilizada.

5. Referências

FERNADES, Paulo. Iniciando com GWT. Disponível em: <http://www.phpaulo.com.br/tag/gwt/> Acesso em: 10 dez. 2009.

DINIZ, Vinícius. GWT Visão Geral. Disponível em: <http://loogica.Wordpress.Com/2007/01/04/gwt-parte-1-visao-geral/> Acesso em: 10 dez. 2009.

FREE, Java. GWT. Disponível em: <http://javafree.Uol.com.br/artigo/874221/Iniciando-com-o-GWT.Html/> Acesso em: 10 dez. 2009.

GEARY, David. Criando locais com o Google Web Toolkit. Disponível em: <http://www.Ibm.Com/developerworks/br/library/j-gwtfu1/index.Html/> Acesso em: 10 dez. 2009. PROGRAMAR, Revista. A revista portuguesa de programação. Google Web Toolkit, Portugal, n. 19, p. 4-9, abril 2009.

PROGRAMAR, Revista. A revista portuguesa de programação. Google Web Toolkit Parte-2, Portugal, n. 20, p. 14-23, junho 2009.

CHAT, Ciclo. Chat application based on google Web Toolkit. Disponível em: < http://laurel.Datsi.Fi.Upm.Es/~ssoo/DAW/Trabajos/2007-2008/017/index_en/> Acesso em: 10 dez. 2009.

JUNIOR, Maurício Linhares de Aragão. Ajax em Java com Google Web Toolkit. Disponível em: <http://www.Guj.com.br/article.List.Logic > Acesso em: 07 dez. 2009.

Referências

Documentos relacionados

Outro estudo que pode ser verificado para esse caso e que apresenta um aspecto de grande interesse é o tempo de retorno para o capital aplicado, no caso da turbina de fluxo

As formações geológicas inseridas na Era Paleoizóica estão compartimentadas em Paleozóico Superior, composto pelas formações Rio do Rastro, Teresina, Serra Alta e

Termelétrica a Carvão – obtenção de vapor para girar turbina, geralmente através de combustão pulverizada (carvão bem moído 0,5 a 1,5mm), obtém-se até 43% de eficiência total

Como foi estabelecido que peles de chinchilla de qualidade média são negociadas no mercado a um preço de até DM 60, e, devido ao fato de que a decisão do Juízo de Primeira

O aumento crescente das concentrações de sódio e sulfato, mantendo-se a concentração de matéria orgânica cons- tante, permitiu constatar a inibição da metanogênese por sódio e

“Ora, a multiplicidade não pode haurir sua realidade senão das unidades verdadeiras, que têm outra origem e são bem distintas dos pontos matemáticos, que não são nada além

David Stephen Gee; (ii) a ratificação do &#34;projeto ônibus movido à cédula de hidrogênio&#34;; (iii) a ratificação do estabelecimento de um programa de distribuição de valores

A busca deve ser inteligente: deve parar assim que encontrar um nome maior do que o nome que está sendo buscado, ao invés de percorrer a lista sempre até o final para concluir que