GWT - Aplicativos
Antes de começarmos a criar um aplicativo "HelloWorld" real usando GWT, vamos ver quais são as partes reais de um aplicativo GWT -
Um aplicativo GWT consiste em seguir quatro partes importantes, das quais a última parte é opcional, mas as três primeiras são obrigatórias.
- Descritores de Módulo
- Recursos públicos
- Código do lado do cliente
- Código do lado do servidor
Amostras de localizações de diferentes partes de um aplicativo gwt típico HelloWord será como mostrado abaixo -
Nome | Localização |
---|---|
Raiz do projeto | Olá Mundo/ |
Descritor de Módulo | src / com / tutorialspoint / HelloWorld.gwt.xml |
Recursos públicos | src / com / tutorialspoint / war / |
Código do lado do cliente | src / com / tutorialspoint / client / |
Código do lado do servidor | src / com / tutorialspoint / server / |
Descritores do Módulo
Um descritor de módulo é o arquivo de configuração na forma de XML que é usado para configurar um aplicativo GWT.
Uma extensão do arquivo descritor do módulo é * .gwt.xml, onde * é o nome do aplicativo e este arquivo deve residir na raiz do projeto.
A seguir estará um descritor de módulo padrão HelloWorld.gwt.xml para um aplicativo HelloWorld -
<?xml version = "1.0" encoding = "utf-8"?>
<module rename-to = 'helloworld'>
<!-- inherit the core web toolkit stuff. -->
<inherits name = 'com.google.gwt.user.user'/>
<!-- inherit the default gwt style sheet. -->
<inherits name = 'com.google.gwt.user.theme.clean.Clean'/>
<!-- specify the app entry point class. -->
<entry-point class = 'com.tutorialspoint.client.HelloWorld'/>
<!-- specify the paths for translatable code -->
<source path = '...'/>
<source path = '...'/>
<!-- specify the paths for static files like html, css etc. -->
<public path = '...'/>
<public path = '...'/>
<!-- specify the paths for external javascript files -->
<script src = "js-url" />
<script src = "js-url" />
<!-- specify the paths for external style sheet files -->
<stylesheet src = "css-url" />
<stylesheet src = "css-url" />
</module>
A seguir está um breve detalhe sobre as diferentes partes usadas no descritor do módulo.
Sr. Não. | Nós e descrição |
---|---|
1 | <module rename-to = "helloworld"> Fornece o nome do aplicativo. |
2 | <inherits name = "logical-module-name" /> Isso adiciona outro módulo gwt no aplicativo, assim como a importação faz em aplicativos Java. Qualquer número de módulos pode ser herdado dessa maneira. |
3 | <entry-point class = "classname" /> Isso especifica o nome da classe que começará a carregar o aplicativo GWT. Qualquer número de classes de ponto de entrada pode ser adicionado e eles são chamados sequencialmente na ordem em que aparecem no arquivo do módulo. Portanto, quando o onModuleLoad () de seu primeiro ponto de entrada termina, o próximo ponto de entrada é chamado imediatamente. |
4 | <source path = "path" /> Isso especifica os nomes das pastas de origem que o compilador GWT pesquisará para a compilação de origem. |
5 | <public path = "path" /> O caminho público é o local em seu projeto onde os recursos estáticos referenciados por seu módulo GWT, como CSS ou imagens, são armazenados. O caminho público padrão é o subdiretório público abaixo de onde o Arquivo XML do Módulo está armazenado. |
6 | <script src="js-url" /> Injecta automaticamente o arquivo JavaScript externo localizado no local especificado por src. |
7 | <stylesheet src="css-url" /> Injecta automaticamente o arquivo CSS externo localizado no local especificado por src. |
Recursos Públicos
Esses são todos os arquivos referenciados pelo seu módulo GWT, como a página HTML do Host, CSS ou imagens.
A localização desses recursos pode ser configurada usando o elemento <public path = "path" /> no arquivo de configuração do módulo. Por padrão, é o subdiretório público abaixo de onde o Arquivo XML do Módulo está armazenado.
Quando você compila seu aplicativo em JavaScript, todos os arquivos que podem ser encontrados em seu caminho público são copiados para o diretório de saída do módulo.
O recurso público mais importante é a página do host, usada para invocar o aplicativo GWT real. Uma página de host HTML típica para um aplicativo pode não incluir nenhum conteúdo de corpo HTML visível, mas é sempre esperado que inclua o aplicativo GWT por meio de uma tag <script ... /> conforme a seguir
<html>
<head>
<title>Hello World</title>
<link rel = "stylesheet" href = "HelloWorld.css"/>
<script language = "javascript" src = "helloworld/helloworld.nocache.js">
</script>
</head>
<body>
<h1>Hello World</h1>
<p>Welcome to first GWT application</p>
</body>
</html>
A seguir está a folha de estilo de amostra que incluímos em nossa página hospedeira -
body {
text-align: center;
font-family: verdana, sans-serif;
}
h1 {
font-size: 2em;
font-weight: bold;
color: #777777;
margin: 40px 0px 70px;
text-align: center;
}
Código do lado do cliente
Este é o código Java real escrito implementando a lógica de negócios do aplicativo e que o compilador GWT traduz em JavaScript, que eventualmente será executado dentro do navegador. A localização desses recursos pode ser configurada usando o elemento <source path = "path" /> no arquivo de configuração do módulo.
Por exemplo Entry Point o código será usado como código do lado do cliente e sua localização será especificada usando <source path = "path" />.
Um módulo entry-point é qualquer classe atribuível a EntryPointe isso pode ser construído sem parâmetros. Quando um módulo é carregado, cada classe de ponto de entrada é instanciada e seuEntryPoint.onModuleLoad()método é chamado. Uma amostra de classe de ponto de entrada HelloWorld será a seguinte -
public class HelloWorld implements EntryPoint {
public void onModuleLoad() {
Window.alert("Hello, World!");
}
}
Código do lado do servidor
Esta é a parte do lado do servidor de seu aplicativo e é muito opcional. Se você não estiver fazendo nenhum processamento de back-end em seu aplicativo, não precisa desta parte, mas se houver algum processamento necessário no back-end e seu aplicativo do lado do cliente interagir com o servidor, você terá que desenvolver esses componentes.
O próximo capítulo fará uso de todos os conceitos mencionados acima para criar um aplicativo HelloWorld usando Eclipse IDE.