Començando com Ext GWT 3 / GXT 3: Hello World

08/05/2012 | By | 5 Comments

Mais um tutorial inédito aqui no blog e super fresquinho! A Sencha anunciou alguns dias atrás o release candidate do GXT 3 e em breve teremos uma versão final.

Confesso que fiquei bem empolgada com a nova versão do framework, pois está cheia de novidades! Os pacotes passaram por uma reformulação de nomes, já que a empresa antes não se chamava Sencha, mas sim ExtJS.

Bem, pra quem não conhece o Ext GWT, ou como também é chamado, GXT, é um framework Java mantido pela Sencha baseado totalmente no GWT (o framework Java do Google), mas com a cara e interface linda que o ExtJS tem!

Os componentes UI do GXT são bem parecidos com os do ExtJS, mas com uma diferença: o código você faz TODO em Java, e o GWT se encarrega de gerar todo o código javascript para você.

Bem, o objetivo do post de hoje, além de fazer esta breve introdução, é mostrar como preparar o ambiente de desenvolvimento para começar a programar com o GXT e fazer um simples Hello World!

Realmente não sei como desenvolvedora Java e amante dos produtos da Sencha nunca escrevi sobre esse framework aqui no blog antes!

Vamos ao que interessa então!

Requisitos para este Tutorial – vou assumir que você seja um desenvolvedor Java e já tenha os seguintes items:

Passo a passo desse tutorial:

  1. Instalar o Google Eclipse Plugin
  2. Criar o projeto
  3. Adicionar as bibliotecas necessárias
  4. Desenvolver a aplicação
  5. Executar a aplicação

Instalando o Google Eclipse Plugin

Um requisito para desenvolvermos projetos em GXT é ter o Google Eclipse Plugin instalado, já que o GXT é baseado no GWT. O primeiro passo então é abrir o Market Place do Eclipse e fazer uma busca por “google”. Depois que a busca estiver feita, vamos procurar o Google Plugin for Eclipse como destacado no screenshot abaixo. Irão ter outras opções com a versão do Eclipse também, mas esta versão que não mostra a versão do Eclipse irá automaticamente detectar a versão que você está usando o instalar o plugin compatível. E para instalar, basta usar o botão “Install”.

Uma dica muito importante: use o Java JDK 6 no Eclipse para instalar o Google Eclipse Plugin. Se estiver usando o JDK 7, vai dar erro.

ext gwt gxt loiane 01 Començando com Ext GWT 3 / GXT 3: Hello World

O Eclipse vai calcular alguns requerimentos e também irá buscar pela versão correta a ser instalada no Eclipse. Neste caso clique em “Next” para prosseguir com a instalação:

ext gwt gxt loiane 02 Començando com Ext GWT 3 / GXT 3: Hello World

Aceite os termos e prossiga com a instalação:

ext gwt gxt loiane 03 Començando com Ext GWT 3 / GXT 3: Hello World

Pronto! Agora basta reiniciar o Eclipse para que as mudanças sejam aplicadas na IDE.

Criando o Projeto

Assim que reiniciarmos o Eclipse, um ícone do Google irá aparecer na barra de ferramentas da IDE. Para criar um novo projeto, clique na “seta para baixo” ao lado do ícone do Google e selecione “New Web Application Project”:

ext gwt gxt loiane 04 Començando com Ext GWT 3 / GXT 3: Hello World

Dê um nome para o projeto (neste tutorial dei o nome de ext-gwt-helloworl), informe o nome do pacote base que irá usar (neste caso escolhi com.loiane.gxt3). Depois deixe apenas a opção “Use Google Web Toolkit” selecionada. Assim vamos criar um projeto “zerado”:

ext gwt gxt loiane 05 Començando com Ext GWT 3 / GXT 3: Hello World

Pronto, o projeto foi gerado seguindo a estrutura de um projeto do GWT.

Adicionando as Bibliotecas

Como queremos criar um projeto usando o GXT 3, precisamos adicionar o jar correspondente da biblioteca ao projeto, já que este já contém as bibliotecas do GWT necessárias. Selecione o projeto, clique com o botão direito e escolha “Build Path” -> “Configure Build Path”:

ext gwt gxt loiane 06 Començando com Ext GWT 3 / GXT 3: Hello World

Uma nova janela irá se abrir. Escolha a tab “Libraries” e clique em “Add External JARs…”.

ext gwt gxt loiane 07 Començando com Ext GWT 3 / GXT 3: Hello World

Vá até o diretório onde descompactou o SDK do Ext GWT e selecione apenas o jar do gxt 3, como mostra o screenshot abaixo:

ext gwt gxt loiane 08 Començando com Ext GWT 3 / GXT 3: Hello World

Pronto, o GXT já está adicionado no classpath do projeto. Clique em OK:

ext gwt gxt loiane 09 Començando com Ext GWT 3 / GXT 3: Hello World

Desenvolvendo a Aplicação – Código

Agora que o projeto já está todo configurado, vamos começar com a diversão e implementar a nossa primeira aplicação com GXT 3. Para isso, selecione o projeto, clique com o botão direto e escolha “New” -> “Other”. Ache o folder do “Google Web Toolkit” e escolha “Module”:

ext gwt gxt loiane 10 Començando com Ext GWT 3 / GXT 3: Hello World

Escolha o pacote (que escolhemos quando criamos o projeto, lembra?) e dê um nome para o módulo. Como essa é a nossa primeira applicacação, chamei de “HelloWorl”:

ext gwt gxt loiane 11 Començando com Ext GWT 3 / GXT 3: Hello World

O plugin do Google vai criar um arquivo xml chamado “Hello World.gwt.xml” como mostrado abaixo. Mas como queremos criar uma aplicação com GXT, temos que fazer algumas mudanças.

ext gwt gxt loiane 12 Començando com Ext GWT 3 / GXT 3: Hello World

Para fazermos essas mudanças, temos que adicionar a seguinte linha no arquivo xml:


Vamos aproveitar e dar um alias para o módulo de “helloworld” para facilitar as chamadas que iremos fazer daqui a pouco. No final, seu arquivo xml deve ficar assim:

<!--?xml version="1.0" encoding="UTF-8"?-->

	<source path="client" />

Agora vamos criar uma classe Entry Point. Para quem nunca trabalhou com GWT antes, a classe que extende um EntryPoint funciona como uma espécie de classe Main, que será executada quando executarmos a aplicação. Novamente, selecione o projeto, clique com o botão direto e escolha “New” -> “Other”. Ache o folder do “Google Web Toolkit” e escolha “Entry Point Class”:

ext gwt gxt loiane 13 Començando com Ext GWT 3 / GXT 3: Hello World

O nome da nossa EntryPoint class será HelloWorld. Clique em Finish – um detalhe: depois de criar essa classe, note que o plugin automaticamente adicionou uma linha no arquivo de configuração do xml:

ext gwt gxt loiane 14 Començando com Ext GWT 3 / GXT 3: Hello World

Agora que a classe está criada, vamos abrir a classe e adicionar o código do GXT:

package com.loiane.gxt3.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
import com.sencha.gxt.widget.core.client.box.MessageBox;

public class HelloWorld implements EntryPoint {

	@Override
	public void onModuleLoad() {

		MessageBox messageBox = new MessageBox("First GXT 3 App", "Hello, World!");

		RootPanel.get().add(messageBox);

		messageBox.show();

	}

}

O código acima irá mostrar uma MessageBox (componente muito parecido com o do ExtJS) com um título e uma mensagem de “Hello, World!”.

Agora precisamos criar uma página HTML. Novamente, selecione a pasta “war” do projeto, clique com o botão direto e escolha “New” -> “Other”. Ache o folder do “Google Web Toolkit” e escolha “HTML Page”:

ext gwt gxt loiane 15 Començando com Ext GWT 3 / GXT 3: Hello World

Dê um nome para a página HTML. Geralmente damos o mesmo nome do módulo:

ext gwt gxt loiane 16 Començando com Ext GWT 3 / GXT 3: Hello World

Pronto, a página HTML será criada. Precisamos fazer uma modificação para adicionar o css do GXT 3. No final, o código HTML deve ficar parecido com o código abaixo:


    HelloWorld

<script type="text/javascript" language="javascript" src="helloworld/helloworld.nocache.js"></script>

</pre>
<iframe id="__gwt_historyFrame" style="position: absolute; width: 0; height: 0; border: 0;" src="javascript:''" width="320" height="240"></iframe>
<pre>

Executando

Pronto, nosso Hello World está implementado e agora vamos executar o projeto pela primeira vez. Como estamos usando o GWT, não precisamos nos preocupar em instalar nenhum webserver, pois o plugin do Google já vem com um especialmente projetado para executar projetos GWT. Para isso, vamos clicar novamente com o botão direito no projeto, e escolher a opção “Run As” -> “Web Application” (repare no ícone do plugin do Google):

ext gwt gxt loiane 17 Començando com Ext GWT 3 / GXT 3: Hello World

O console do “Development Mode” vai abrir e se tudo estiver OK, vai mostrar um link. Dê um duplo clique no link e o seu browser default irá abrir.

ext gwt gxt loiane 18 Començando com Ext GWT 3 / GXT 3: Hello World

Se você nunca executou um projeto GWT no seu browser antes, vai pedir para instalar o plugin do Google. Instale.

ext gwt gxt loiane 19 Començando com Ext GWT 3 / GXT 3: Hello World

Dê um duplo clique novamente na url e agora que já temos o plugin do Google para app GWT instalado no browser, a seguinte tela deve aparecer.

ext gwt gxt loiane 21 Començando com Ext GWT 3 / GXT 3: Hello World

Parabéns! Criamos e executamos nossa primeira aplicação GXT 3 juntos!

Estrutura Final do Projeto

No final, a estrutura do projeto deve ficar assim:

ext gwt gxt loiane 20 Començando com Ext GWT 3 / GXT 3: Hello World

Download do Código Fonte

Você pode fazer download do código fonte completo desse tutorial no meu repositório do github: https://github.com/loiane/ext-gwt3-helloworld

Até a próxima! icon smile Començando com Ext GWT 3 / GXT 3: Hello World

Filed in: Ext GWT 3 - GXT 3, Tutoriais | Tags: , , , , ,

Comments (5)

  1. MARCOS RIBEIRO

    Muito legal, Gostaria de pedir quando puder fazer um tutorial mais avançado (gwt+hibernate+spring), usando o GWT/GXT SENCHA, algo como persistir dados e uso de grid.
    E muito obrigado por publicar suas videos grátis, vem nos ajudando muito aqui na empresa na formação de novos programadores, Deus lhe de em dobro…

  2. MARCOS RIBEIRO

    Muito legal, Gostaria de pedir quando puder fazer um tutorial mais avançado (gwt+hibernate+spring), usando o GWT/GXT SENCHA, algo como persistir dados e uso de grid.
    E muito obrigado por publicar suas videos grátis, vem nos ajudando muito aqui na empresa na formação de novos programadores, Deus lhe de em dobro…

  3. Jhonatan Morais

    Oi loiane, vc sabe como publicar os sites desenvolvidos com o gxt no google, li uma vez em um livro que eles tem este serviço (free). sabe de algo?

  4. Cedrick Brandão

    Parabéns pelo post, muito útil.

Leave a Reply

Trackback URL | RSS Feed for This Entry

VideoPokiesOnline.com is the leading Pokies - Online Casino Guide in Australia. Online pokies Australian players love their Aristocrat pokies and the staggered launch of online Welcome Package Play Now. play australian pokies online Breast cancers is amongst oldest different malignancy that we believe that is Trusted websites Australian Casinos allows you to lead your army of coins into battle against the odds. Free Online Pokies at Top Rated Australian Online Casinos.
Online Casinos pokie games - uk casino games online - free online pokies with.
Slots and enjoy: ?one of a kind VIP program ? $500 Welcome Package ? Online Pokies Australia online casinos and land parlors. Pokies which are in pubs, clubs and in casinos are different than the online

Online Slots Wild Jack.