Google Web Toolkit

37
www.i2e.com.es GOOGLE WEB TOOLKIT INTRODUCCIÓN

description

Introducción a Google Web Toolkit.

Transcript of Google Web Toolkit

Page 1: Google Web Toolkit

ww

w.i

2e

.co

m.e

s

GOOGLE WEB TOOLKITINTRODUCCIÓN

Page 2: Google Web Toolkit

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

Page 3: Google Web Toolkit

ww

w.i

2e

.co

m.e

s

INTRODUCCIÓN A GWT

Page 4: Google Web Toolkit

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.

Page 5: Google Web Toolkit

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

Page 6: Google Web Toolkit

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

Page 7: Google Web Toolkit

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.

Page 8: Google Web Toolkit

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.

Page 9: Google Web Toolkit

ww

w.i

2e

.co

m.e

s

ARQUITECTURA GWT

Page 10: Google Web Toolkit

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.

Page 11: Google Web Toolkit

ww

w.i

2e

.co

m.e

s

Arquitectura GWT

Page 12: Google Web Toolkit

ww

w.i

2e

.co

m.e

s

DEPURACIÓN Y COMPILACIÓN

Page 13: Google Web Toolkit

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.

Page 14: Google Web Toolkit

ww

w.i

2e

.co

m.e

s

Depuración

A partir de GWT 2.0 se puede depurar desde el navegador

Page 15: Google Web Toolkit

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.

Page 16: Google Web Toolkit

ww

w.i

2e

.co

m.e

s

Compilación

Page 17: Google Web Toolkit

ww

w.i

2e

.co

m.e

s

CONSTRUYENDO LA INTERFAZ

Page 18: Google Web Toolkit

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.

Page 19: Google Web Toolkit

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.

Page 20: Google Web Toolkit

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.

Page 21: Google Web Toolkit

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

Page 22: Google Web Toolkit

ww

w.i

2e

.co

m.e

s

Herramientas de Desarrollo

GWT Designer

Eclipse Google Plugin

Cypal Studio for GWT, IntelliJ IDEA, gwt4nb (NetBeans)

Page 23: Google Web Toolkit

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.

Page 24: Google Web Toolkit

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/

Page 25: Google Web Toolkit

ww

w.i

2e

.co

m.e

s

COMUNICACIÓN CON EL SERVIDOR

Page 26: Google Web Toolkit

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.

Page 27: Google Web Toolkit

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.

Page 28: Google Web Toolkit

ww

w.i

2e

.co

m.e

s

TESTEO

Page 29: Google Web Toolkit

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.

Page 30: Google Web Toolkit

ww

w.i

2e

.co

m.e

s

DESPLIEGUE

Page 31: Google Web Toolkit

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.

Page 32: Google Web Toolkit

ww

w.i

2e

.co

m.e

s

APLICACIONES DE EJEMPLO

Page 33: Google Web Toolkit

ww

w.i

2e

.co

m.e

s

Google Wave

Page 34: Google Web Toolkit

ww

w.i

2e

.co

m.e

s

Google Health

Page 35: Google Web Toolkit

ww

w.i

2e

.co

m.e

s

Lombardi Blueprint

Page 37: Google Web 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]