Google Web Toolkit

3,247 views

Published on

Introducción a Google Web Toolkit.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,247
On SlideShare
0
From Embeds
0
Number of Embeds
426
Actions
Shares
0
Downloads
132
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Google Web Toolkit

  1. 1. Google web toolkitIntroducción<br />
  2. 2. Google Web Toolkit<br />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)<br />
  3. 3. Introducción a Gwt<br />
  4. 4. Introducción<br />GWT Manifesto<br />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.<br />
  5. 5. Introducción<br />Programas en Java<br />Depuras en Java<br />Testeas en Java<br />GWT compila de Java a JavaScript<br />Despliegas en JavaScript<br />
  6. 6. Introducción<br />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. <br />Todo el código de GWT está disponible bajo la licencia Apache 2.0<br />
  7. 7. Introducción<br />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.<br />
  8. 8. Introducción<br />Se obtiene un mayor rendimiento y una mejor escalabilidad que con las aplicaciones web tradicionales. <br />
  9. 9. Arquitectura GWT<br />
  10. 10. Arquitectura GWT<br />GWT Java-to-JavaScript Compiler: la función del componente es traducir el código desarrollado en Java al lenguaje JavaScript.<br />Hosted Web Browser: este componente ejecuta la aplicación Java sin traducirla a JavaScript, en modo host usando la máquina virtual de Java.<br />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.<br />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.<br />
  11. 11. Arquitectura GWT<br />
  12. 12. Depuración y compilación<br />
  13. 13. Depuración <br />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. <br />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. <br />
  14. 14. Depuración <br />A partir de GWT 2.0 se puede depurar desde el navegador<br />
  15. 15. Compilación<br />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.<br />
  16. 16. Compilación<br />
  17. 17. Construyendo la interfaz<br />
  18. 18. Construyendo la interfaz de Usuario<br />Las clases de GWT para la interfaz de usuario son similares a Swing o SWT.<br />Podemos dar estilo a los widgets utilizando CSS.<br />
  19. 19. Construyendo la interfaz de Usuario<br />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.<br />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. <br />
  20. 20. Construyendo la interfaz de Usuario<br />GWT utiliza Java, por lo que puedes utilizar todas tus herramientas favoritas de desarrollo (Eclipse,NetBeans, IntelliJ, JUnit) al crear tus aplicaciones AJAX. <br />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.. <br />Por último, puedes aprovechar abstracciones y patrones de diseño orientados a objetos (OO) basados en Java.<br />
  21. 21. Librería s de Widgets<br />GWT<br />GWT Incubator<br />Smart GWT<br />GWT-Ext<br />IT Mill Toolkit<br />GWT mosaic<br />
  22. 22. Herramientas de Desarrollo<br />GWT Designer<br /><ul><li>Eclipse Google Plugin
  23. 23. Cypal Studio for GWT, IntelliJ IDEA, gwt4nb (NetBeans)</li></li></ul><li>Internacionalización y Accesibilidad<br />Puedes crear fácilmente bibliotecas y aplicaciones internacionalizadas con las potentes técnicas de vinculación aplazada de GWT. <br />ARIA es la especificación del W3C para hacer las aplicaciones RIA accesibles a traves de propiedades estandar del DOM.<br />
  24. 24. Integración con las APIs de Google<br />Integración sencilla con las apis de Google<br />http://code.google.com/p/gwt-google-apis/<br />
  25. 25. Comunicación con el servidor<br />
  26. 26. Comunicación con el servidor<br />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.<br />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.<br />
  27. 27. Comunicación con el servidor<br />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. <br />
  28. 28. Testeo<br />
  29. 29. Testeo<br />GWT incluye la clase base GWTTestCase que proporciona la integracion con Junit. <br />GWT lanza una instancia del hosted mode para ejecutar los test.<br />Mediante la herramienta junitCreator genera todo lo necesario para poder ejecutar los test.<br />Tambien podemos utilizar herramientas como Selenium o WebDriver para realizar los test de la interfaz de usuario.<br />
  30. 30. Despliegue<br />
  31. 31. Despliegue<br />Las aplicaciones de GWT se empaquetan en un war y se pueden desplegar en cualquier contenedor de Servlets estandar.<br />Se puede utilizar ant o maven para automatizar el proceso de compilación y despliegue.<br />
  32. 32. Aplicaciones de ejemplo<br />
  33. 33. Google Wave<br />
  34. 34. Google Health<br />
  35. 35. Lombardi Blueprint<br />
  36. 36. Referencias<br />http://code.google.com/intl/es-ES/webtoolkit/<br />http://code.google.com/intl/es-ES/webtoolkit/doc/1.6/DevGuide.html<br />http://gwtgallery.appspot.com/<br />http://code.google.com/intl/es-ES/events/io/sessions.html#gwt<br />http://groups.google.com/group/Google-Web-Toolkit<br />
  37. 37. I2E<br />En I2E somos especialista en el desarrollo de aplicaciones Java EE utilizando GWT para la interfaz de usuario.<br />http://www.i2e.com.es<br />i2e@i2e.com.es<br />

×