Introducción a GWT                          “Google Web Toolkit”                              ADWE Murcia, 6 de Julio 2011...
Previo                      • AJAX: Asynchronous JS and XML    XmlHttpRequest                      • “Sitio Web” vs. “Apli...
Qué es GWT                          • Nota: GWT != GAE (Google App Engine)                          • Toolkit desarrollo c...
Plugin para Eclipse                          • Creación de proyectos GWT                          • Integración debugger, ...
Compilador GWT                  • “Compila” código Java > JavaScript + HTML                  • Una versión distinta por na...
Interfaz Usuario                          • Extensa librería de widgets          Composite                          • Dise...
Comunicación con Servidor                   Antes que nada... IMHO no es lo mejor para data-centric apps                  ...
Comunicación con Servidor                    • Con un servidor Java: GWT-RPC                    • Librería peticiones HTTP...
Ejecución y Depuración        • Depuración: “en Java” + Plugin navegador         Hosted Mode        • Herramientas examen ...
Otros                  • APIs de Google GWT-izadas                  Maps, Charts, ...                  • Soporte al histor...
“Caso de Éxito”             • Aplicación gestión equipos de vídeo móviles             • Servidor Java EE (Glassfish 3.1 OSE...
Demo                  •       Primera toma de contacto desarrollo GWT...lunes 25 de julio de 11
Enlaces de Interés                          •   http://code.google.com/p/murgtug-mediaplayer/                          •  ...
Upcoming SlideShare
Loading in …5
×

Gwt intro adwe_murcia

2,348 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,348
On SlideShare
0
From Embeds
0
Number of Embeds
621
Actions
Shares
0
Downloads
31
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Gwt intro adwe_murcia

  1. 1. Introducción a GWT “Google Web Toolkit” ADWE Murcia, 6 de Julio 2011 Miguel García, @mglpia miguel.garcia.lopez@gmail.comlunes 25 de julio de 11
  2. 2. Previo • AJAX: Asynchronous JS and XML XmlHttpRequest • “Sitio Web” vs. “Aplicación Web” • SPI: Single Page Interface • “Centrado en el Servidor” vs “el Cliente” • Serialización en JSON, XML • JavaScript muy optimizado hoy en díalunes 25 de julio de 11
  3. 3. Qué es GWT • Nota: GWT != GAE (Google App Engine) • Toolkit desarrollo clientes Web - RIA • Centrado en el navegador: CPU, RAM, pide por esa boca • Desarrollo en Java Lenguaje muy extendido • Abstrae de diferencias navegadores • Detalles a continuación...lunes 25 de julio de 11
  4. 4. Plugin para Eclipse • Creación de proyectos GWT • Integración debugger, “Run as...” • Editores para ficheros usados por GWT • Integración tests unitarios • Otros: Maven plugin, NetBeans, IntelliJlunes 25 de julio de 11
  5. 5. Compilador GWT • “Compila” código Java > JavaScript + HTML • Una versión distinta por navegador/engine • No uso de binarios (.jar): código fuente • Clases del JRE/JDK “blacklisted” ¡(Re-)Escritas en JS! • Posibilidad de llamar métodos “nativos” JS • OBFUSCATED, PRETTY, DETAILEDlunes 25 de julio de 11
  6. 6. Interfaz Usuario • Extensa librería de widgets Composite • Diseño/layout vía: • “A pelo”, programáticamente panel.setLayout(...) • UIBinder XML-based, componentes/handlers inyectados @UiField, ... • GWT Designer Diseño gráfico drag-and-drop • HTML + GWT (= HTML + JS) • “Wrappers” librerías componentes JS ExtJS,YUI... • Soporte para internacionalizaciónlunes 25 de julio de 11 • “CSS-skinning”
  7. 7. Comunicación con Servidor Antes que nada... IMHO no es lo mejor para data-centric apps (Vía http://www.zkoss.org/)lunes 25 de julio de 11
  8. 8. Comunicación con Servidor • Con un servidor Java: GWT-RPC • Librería peticiones HTTP • Librerías manejo JSON y XML • API/Naturaleza asíncrona onSuccess() onError() • Múltiples opciones 3ªs partes resty-gwt, ...lunes 25 de julio de 11
  9. 9. Ejecución y Depuración • Depuración: “en Java” + Plugin navegador Hosted Mode • Herramientas examen Web Firebug + PRETTY/DETAILED • GWT Logging Framework • Código servidor: lo que queramos Mundo Java, o PHP, o ...lunes 25 de julio de 11
  10. 10. Otros • APIs de Google GWT-izadas Maps, Charts, ... • Soporte al historial navegador • No Eclipse-exclusivo Otros IDEs, command-line, Maven • Documentación de alta calidad, detalles, tutoriales • Patrones de arquitectura: MVC, MVP, ... • Reutilización código JavaScript • Speed Tracer Google Chrome Pluginlunes 25 de julio de 11
  11. 11. “Caso de Éxito” • Aplicación gestión equipos de vídeo móviles • Servidor Java EE (Glassfish 3.1 OSE, EJB’s + REST) • BDD PostgreSQL 9.0 • Aplicación de escritorio Swing(NetBeans Platform) • Cliente(s) web: ubicuidad, ligero, móvil/tablets • resty-gwt , gwt-google-apis cliente REST Google Maps • atmosphere[-gwt] para “comet” (“server push”)lunes 25 de julio de 11
  12. 12. Demo • Primera toma de contacto desarrollo GWT...lunes 25 de julio de 11
  13. 13. Enlaces de Interés • http://code.google.com/p/murgtug-mediaplayer/ • http://code.google.com/webtoolkit • http://code.google.com/p/gwt-rest/ • http://java.net/projects/gwt4nb/pages/Home • http://mojo.codehaus.org/gwt-maven-plugin/ • http://code.google.com/p/gwtchismes/ • http://code.google.com/p/gwt-google-apis/ • http://www.youtube.com/watch?v=PDuhR18-EdM • http://www.youtube.com/watch?v=aW--Wlf9EFslunes 25 de julio de 11

×