2. Google Web Toolkit En esta presentación se va a realizar una introducción a Google Web Toolkit (en adelante GWT). GWT es una tecnología desarrollada por Google para acelerar el desarrollo de Apliaciones Ricas de Internet (RIA)
4. Introducción GWT Manifesto Mejorar Radicalmente la experiencia de los usuarios con la web permitiendo a los desarrolladores utilizar las herramientas Java existentes para construir aplicaciones Ajax independientes del navegador.
5. Introducción Programas en Java Depuras en Java Testeas en Java GWT compila de Java a JavaScript Despliegas en JavaScript
6. Introducción Google Web Toolkit (GWT) permite crear aplicaciones AJAX en el lenguaje de programación Java que son compiladas posteriormente por el compilador de GWT en código JavaScript optimizado para los principales navegadores. Todo el código de GWT está disponible bajo la licencia Apache 2.0
7. Introducción Al ejecutarse la aplicación en el navegador, la interacción del usuario con la aplicación es mas fluida, ya no tendremos el efecto de pagina en blanco.
8. Introducción Se obtiene un mayor rendimiento y una mejor escalabilidad que con las aplicaciones web tradicionales.
10. Arquitectura GWT GWT Java-to-JavaScript Compiler: la función del componente es traducir el código desarrollado en Java al lenguaje JavaScript. Hosted Web Browser: este componente ejecuta la aplicación Java sin traducirla a JavaScript, en modo host usando la máquina virtual de Java. JRE Emulation Library: contiene las bibliotecas más importantes de las clases de Java: java.lang en donde se encuentran las clases fundamentales para poder programar en Java y un subconjunto de las clases del paquete java.util. Java.lang incluye, entre otras, la clase java.lang.object que es la clase fundamental de la que heredan o extienden todas las clases en Java. El resto de los paquetes no están soportados por GWT. GWT Web UI Class Library: contiene un conjunto de elementos de interfaz de usuario que permite la creación de objetos tales como textos, cajas de texto, imágenes y botones.
13. Depuración Durante el desarrollo de una aplicación, se pueden ver inmediatamente los cambios realizados en el código mediante el navegador de modo alojado (hosted mode) de GWT. No es necesario volver a compilar el código en JavaScript. El codigo se ejecutará en la maquina virtual de Java como bytecode. Todo lo que pueda hacer el depurador de Java se aplicará también al código GWT.
14. Depuración A partir de GWT 2.0 se puede depurar desde el navegador
15. Compilación GWT compila el código Java en archivos JavaScript independientes que estarán disponibles a través de cualquier servidor web. Además, las aplicaciones GWT admiten automáticamente los navegadores IE, Firefox, Mozilla, Safari y Opera sin necesidad de detectar el navegador ni utilizar un formato especial en el código. Sólo se tiene que escribir el código una vez y GWT lo convertirá al formato JavaScript más adecuado para el navegador de cada usuario.
18. Construyendo la interfaz de Usuario Las clases de GWT para la interfaz de usuario son similares a Swing o SWT. Podemos dar estilo a los widgets utilizando CSS.
19. Construyendo la interfaz de Usuario Puedes crear modulos reutilizables mediante la composición de otros modulos y colocarlos después fácilmente en paneles. Para reutilizar un modulo en otro poryecto sólo tienes que empaquetarlo en un archivo JAR. Si la biblioteca de clases de GWT no satisface tus necesidades, puedes mezclar JavaScript manualmente en el código fuente Java mediante la interfaz JSNI.
20. Construyendo la interfaz de Usuario GWT utiliza Java, por lo que puedes utilizar todas tus herramientas favoritas de desarrollo (Eclipse,NetBeans, IntelliJ, JUnit) al crear tus aplicaciones AJAX. La comprobación de tipo estático en lenguaje Java permite que los desarrolladores detecten una clase de errores (errores ortográficos, tipos no coincidentes) en el momento de la creación del código, no durante la ejecución del programa, lo que aumenta la productividad y reduce los errores.. Por último, puedes aprovechar abstracciones y patrones de diseño orientados a objetos (OO) basados en Java.
21. Librería s de Widgets GWT GWT Incubator Smart GWT GWT-Ext IT Mill Toolkit GWT mosaic
22.
23.
24. Integración con las APIs de Google Integración sencilla con las apis de Google http://code.google.com/p/gwt-google-apis/
26. Comunicación con el servidor GWT puede soportar cualquier navegador para comunicarse con cualquier tipo de servidor, debido a la comunicación con JSON o XML, con el servidor, en las llamadas AJAX. GWT tiene una arquitectura predefinida para desarrollar la parte del servidor en JAVA, mediante servlets que pueden ser desplegados en cualquier contenedor de aplicaciones web que soporte servlets.
27. Comunicación con el servidor GWT admite un conjunto indefinido de protocolos de transferencia, como JSON y XML, pero el mecanismo de llamada a procedimiento remoto (RPC) de GWT permite el establecimiento de comunicaciones Java de una forma sencilla y eficaz. Al realizar una llamada a un método remoto desde el navegador, el mecanismo RPC de GWT serializará automáticamente los argumentos, ejecutará el método adecuado en el servidor y anulará la serialización del valor de retorno del código cliente.
29. Testeo GWT incluye la clase base GWTTestCase que proporciona la integracion con Junit. GWT lanza una instancia del hosted mode para ejecutar los test. Mediante la herramienta junitCreator genera todo lo necesario para poder ejecutar los test. Tambien podemos utilizar herramientas como Selenium o WebDriver para realizar los test de la interfaz de usuario.
31. Despliegue Las aplicaciones de GWT se empaquetan en un war y se pueden desplegar en cualquier contenedor de Servlets estandar. Se puede utilizar ant o maven para automatizar el proceso de compilación y despliegue.
37. I2E En I2E somos especialista en el desarrollo de aplicaciones Java EE utilizando GWT para la interfaz de usuario. http://www.i2e.com.es i2e@i2e.com.es