Google Web Toolkit
-
Upload
ingenieria-informatica-empresarial -
Category
Technology
-
view
3.044 -
download
1
description
Transcript of Google Web Toolkit
ww
w.i
2e
.co
m.e
s
GOOGLE WEB TOOLKITINTRODUCCIÓN
ww
w.i
2e
.co
m.e
s
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)
Introducción
Arquitectura GWT
Depuración y Compilación
Construyendo la Interfaz
Comunicación con el servidor
Testeo
Despliegue
Aplicaciones de Ejemplo
ww
w.i
2e
.co
m.e
s
INTRODUCCIÓN A GWT
ww
w.i
2e
.co
m.e
s
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.
ww
w.i
2e
.co
m.e
s
Introducción
Programas en Java Depuras en Java Testeas en Java GWT compila de Java a JavaScript Despliegas en JavaScript
ww
w.i
2e
.co
m.e
s
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
ww
w.i
2e
.co
m.e
s
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.
ww
w.i
2e
.co
m.e
s
Introducción
Se obtiene un mayor rendimiento y una mejor escalabilidad que con las aplicaciones web tradicionales.
ww
w.i
2e
.co
m.e
s
ARQUITECTURA GWT
ww
w.i
2e
.co
m.e
s
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.
ww
w.i
2e
.co
m.e
s
Arquitectura GWT
ww
w.i
2e
.co
m.e
s
DEPURACIÓN Y COMPILACIÓN
ww
w.i
2e
.co
m.e
s
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.
ww
w.i
2e
.co
m.e
s
Depuración
A partir de GWT 2.0 se puede depurar desde el navegador
ww
w.i
2e
.co
m.e
s
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.
ww
w.i
2e
.co
m.e
s
Compilación
ww
w.i
2e
.co
m.e
s
CONSTRUYENDO LA INTERFAZ
ww
w.i
2e
.co
m.e
s
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.
ww
w.i
2e
.co
m.e
s
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.
ww
w.i
2e
.co
m.e
s
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.
ww
w.i
2e
.co
m.e
s
Librería s de Widgets
GWT GWT Incubator Smart GWT GWT-Ext IT Mill Toolkit GWT mosaic
ww
w.i
2e
.co
m.e
s
Herramientas de Desarrollo
GWT Designer
Eclipse Google Plugin
Cypal Studio for GWT, IntelliJ IDEA, gwt4nb (NetBeans)
ww
w.i
2e
.co
m.e
s
Internacionalización y Accesibilidad Puedes crear fácilmente bibliotecas y
aplicaciones internacionalizadas con las potentes técnicas de vinculación aplazada de GWT.
ARIA es la especificación del W3C para hacer las aplicaciones RIA accesibles a traves de propiedades estandar del DOM.
ww
w.i
2e
.co
m.e
s
Integración con las APIs de Google Integración sencilla con las apis de Google http://code.google.com/p/gwt-google-apis/
ww
w.i
2e
.co
m.e
s
COMUNICACIÓN CON EL SERVIDOR
ww
w.i
2e
.co
m.e
s
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.
ww
w.i
2e
.co
m.e
s
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.
ww
w.i
2e
.co
m.e
s
TESTEO
ww
w.i
2e
.co
m.e
s
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.
ww
w.i
2e
.co
m.e
s
DESPLIEGUE
ww
w.i
2e
.co
m.e
s
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.
ww
w.i
2e
.co
m.e
s
APLICACIONES DE EJEMPLO
ww
w.i
2e
.co
m.e
s
Google Wave
ww
w.i
2e
.co
m.e
s
Google Health
ww
w.i
2e
.co
m.e
s
Lombardi Blueprint
ww
w.i
2e
.co
m.e
s
Referencias
http://code.google.com/intl/es-ES/webtoolkit/
http://code.google.com/intl/es-ES/webtoolkit/doc/1.6/DevGuide.html
http://gwtgallery.appspot.com/ http://code.google.com/intl/es-ES/events/i
o/sessions.html#gwt http://groups.google.com/group/Google-W
eb-Toolkit
ww
w.i
2e
.co
m.e
s
I2E
En I2E somos especialista en el desarrollo de aplicaciones Java EE utilizando GWT para la interfaz de usuario.
http://www.i2e.com.es [email protected]