Este documento describe Google Web Toolkit (GWT), incluyendo sus ventajas como permitir desarrollo del lado del cliente en Java y compilar a JavaScript, sus componentes como el compilador y librerías, y cómo crear un proyecto GWT con arquitectura, archivo de configuración, punto de entrada, servicios, e implementación en Eclipse.
6. Navegador Web Servidor Web/Aplicaciones
Tecnología CSS
HTML
desde CSS Javascript
JSP
JSF
Cliente HTML Datos PHP
Javascript ASP
Servlet
Tecnología CSS
PHP
Datos Python
del HTML JMS
Cliente Javascript WebServices
RESTful
GWT, Pyjamas, Openlaszlo
1. ¿Porque usar GWT?
7. • Desarrollo del lado del cliente.
• Codificas en java y tienes un compilado en javascript
• Interfaz gráfica de usuario esta a nivel del las
aplicaciones de escritorio pero en Aplicaciones Web.
• Mínimas necesidades de interacción con el código del
servidor
• Código rápido y mejor que un humano pueda
escribir.
• Código compilado multi navegador.
1. ¿Porque usar GWT?
8. • Lenguaje de alto nivel, fácil de mapear los diseños.
• Curva de aprendizaje para GWT no es difícil.
• Evitar el uso de javascript de aprovechar las
capacidad de corrección de errores (Debugging).
• Fácil de acoplar a las metodologías agiles como XP y
Scrum. A tiempo de usar TDD y JUnit
• Aprovechar las técnicas comunes de la programación
en Escritorio, como Swing, SWT, etc.
1.1. ¿Por qué Java?
1. ¿Porque usar GWT?
9. • Las paginas web no son indexsables por los motores
de búsqueda
• Las páginas GWT no se degradan correctamente en
navegadores antiguos.
• Son mas propensos a ataques por javascript
• Desarrollo y compilación es lenta.
1. ¿Porque usar GWT?
15. Código fuente cliente y servidor
Librerías Java
Librerías GWT
Contenido del web para despliegue
3.1. Arquitectura de un Proyecto
3. Creando un proyecto GWT
16. Configuración de lado cliente
Código cliente
Punto de entrada EntryPoint
Servicios RPC
Código servidor Implementación del Servicio
Librerías GWT
Contenido del web para despliegue
Conjuntos de librerías (jars) para despliegue
Configuración de lado servidor
Estilos CSS
HTML principal
3.1. Arquitectura de un Proyecto
3. Creando un proyecto GWT
17. Archivo xml
Etiqueda de un modulo GWT
Herencia de módulos
<?xml version="1.0" encoding="UTF-8"?>
<!-- <module rename-to='proyectogwt'> -->
<module>
<inherits name="com.google.gwt.user.User"/>
<inherits name="com.google.gwt.user.theme.standard.Standard"/>
<entry-point class="com.mycompany.project.client.ModuloGWT"/>
</module>
Declaracion anternativa de un módulo Clase main – Punto de entrada
3.2. Archivo de configuración GWT
3. Creando un proyecto GWT
18. <?xml version="1.0" encoding="UTF-8"?>
<module>
<inherits name="com.google.gwt.user.User"/>
<inherits name="com.google.gwt.user.theme.standard.Standard"/>
<entry-point class="com.mycompany.project.client.ModuloGWT"/>
</module>
/**
* Clase punto de entrada que define <code>onModuleLoad()</code>.
*/
public class ModuloGWT implements EntryPoint {
public void onModuleLoad() {
Window.alert("Hola mundo con GWT");
}
}
3.3. Punto de entrada
3. Creando un proyecto GWT
25. • Essential GWT. Building for Web the Google Web Toolkit
2. Federico Kereki. 322p. Addison-Wesley
• Google Web Toolkit. https://developers.google.com/web-
toolkit
• Java Community Process (JSR). http://www.jcp.org
• Eclipse. http://www.eclipse.org
Bibliografía