SlideShare una empresa de Scribd logo
Google web toolkitIntroducción
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 a Gwt
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.
Introducción Programas en Java Depuras en Java Testeas en Java GWT compila de Java a JavaScript Despliegas en JavaScript
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
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.
Introducción Se obtiene un mayor rendimiento y  una mejor escalabilidad que con las aplicaciones web tradicionales.
Arquitectura GWT
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.
Arquitectura GWT
Depuración y compilación
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.
Depuración  A partir de GWT 2.0 se puede depurar desde el navegador
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.
Compilación
Construyendo la interfaz
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.
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.
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.
Librería s de Widgets GWT GWT Incubator Smart GWT GWT-Ext IT Mill Toolkit GWT mosaic
Herramientas de Desarrollo GWT Designer ,[object Object]
Cypal Studio for GWT, IntelliJ IDEA, gwt4nb (NetBeans),[object Object]
Integración con las APIs de Google Integración sencilla con las apis de Google http://code.google.com/p/gwt-google-apis/
Comunicación con el servidor
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.
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.
Testeo
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.
Despliegue
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.
Aplicaciones de ejemplo
Google Wave
Google Health
Lombardi Blueprint
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/io/sessions.html#gwt http://groups.google.com/group/Google-Web-Toolkit
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

Más contenido relacionado

La actualidad más candente

Exposicion GWT
Exposicion GWTExposicion GWT
Exposicion GWT
Jose Luis Dorao
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoManuel Carrasco Moñino
 
Gwt I - entendiendo gwt
Gwt I - entendiendo gwtGwt I - entendiendo gwt
Gwt I - entendiendo gwt
Manuel Carrasco Moñino
 
GWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactoryGWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactory
Manuel Carrasco Moñino
 
Articulo tipos de ide y ajax control toolkit
Articulo   tipos de ide y ajax control toolkitArticulo   tipos de ide y ajax control toolkit
Articulo tipos de ide y ajax control toolkitCesar Escalante
 
Java completo y agragado
Java completo y agragadoJava completo y agragado
Java completo y agragadoMaria
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
Micael Gallego
 
OpenVidu Commitconf 2018
OpenVidu Commitconf 2018 OpenVidu Commitconf 2018
OpenVidu Commitconf 2018
Micael Gallego
 
Desarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos BásicosDesarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos Básicos
Gabriel Huecas
 
J query el framework de la web luc van lancker-1504
J query el framework de la web    luc van lancker-1504J query el framework de la web    luc van lancker-1504
J query el framework de la web luc van lancker-1504
Vanessa Carlos
 
31-Android Generalidades Sobre Servicios Webs con MySQL
31-Android Generalidades Sobre Servicios Webs con MySQL31-Android Generalidades Sobre Servicios Webs con MySQL
31-Android Generalidades Sobre Servicios Webs con MySQL
Pedro Antonio Villalta (Pavillalta)
 
WebRTC en tu web con OpenVidu
WebRTC en tu web con OpenViduWebRTC en tu web con OpenVidu
WebRTC en tu web con OpenVidu
Micael Gallego
 
Proyect Evenge. Event manager
Proyect Evenge. Event managerProyect Evenge. Event manager
Proyect Evenge. Event manager
Ivan Ortega
 
Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019
Micael Gallego
 
Desarrollo android - 2 - arquitectura del sistema
Desarrollo android   - 2 - arquitectura del sistemaDesarrollo android   - 2 - arquitectura del sistema
Desarrollo android - 2 - arquitectura del sistema
Emilio Aviles Avila
 
Java Es O No Software Libre
Java Es O No Software LibreJava Es O No Software Libre
Java Es O No Software LibreJose Rojas
 
Java Scripts
Java ScriptsJava Scripts
Java Scripts
Pablo perez
 
Linea del tiempo de los frameworks
Linea del tiempo de los frameworksLinea del tiempo de los frameworks
Linea del tiempo de los frameworks
Jose Alejandro
 

La actualidad más candente (19)

Exposicion GWT
Exposicion GWTExposicion GWT
Exposicion GWT
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrasco
 
Gwt I - entendiendo gwt
Gwt I - entendiendo gwtGwt I - entendiendo gwt
Gwt I - entendiendo gwt
 
GWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactoryGWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactory
 
Articulo tipos de ide y ajax control toolkit
Articulo   tipos de ide y ajax control toolkitArticulo   tipos de ide y ajax control toolkit
Articulo tipos de ide y ajax control toolkit
 
Java completo y agragado
Java completo y agragadoJava completo y agragado
Java completo y agragado
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
 
OpenVidu Commitconf 2018
OpenVidu Commitconf 2018 OpenVidu Commitconf 2018
OpenVidu Commitconf 2018
 
Desarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos BásicosDesarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos Básicos
 
J query el framework de la web luc van lancker-1504
J query el framework de la web    luc van lancker-1504J query el framework de la web    luc van lancker-1504
J query el framework de la web luc van lancker-1504
 
31-Android Generalidades Sobre Servicios Webs con MySQL
31-Android Generalidades Sobre Servicios Webs con MySQL31-Android Generalidades Sobre Servicios Webs con MySQL
31-Android Generalidades Sobre Servicios Webs con MySQL
 
WebRTC en tu web con OpenVidu
WebRTC en tu web con OpenViduWebRTC en tu web con OpenVidu
WebRTC en tu web con OpenVidu
 
Proyect Evenge. Event manager
Proyect Evenge. Event managerProyect Evenge. Event manager
Proyect Evenge. Event manager
 
Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019
 
Desarrollo android - 2 - arquitectura del sistema
Desarrollo android   - 2 - arquitectura del sistemaDesarrollo android   - 2 - arquitectura del sistema
Desarrollo android - 2 - arquitectura del sistema
 
Java Es O No Software Libre
Java Es O No Software LibreJava Es O No Software Libre
Java Es O No Software Libre
 
Java Scripts
Java ScriptsJava Scripts
Java Scripts
 
Linea del tiempo de los frameworks
Linea del tiempo de los frameworksLinea del tiempo de los frameworks
Linea del tiempo de los frameworks
 
Dreamweaver
DreamweaverDreamweaver
Dreamweaver
 

Destacado

Gwt intro adwe_murcia
Gwt intro adwe_murciaGwt intro adwe_murcia
Gwt intro adwe_murciaADWE Team
 
Proceso MDA y Scrum
Proceso MDA y ScrumProceso MDA y Scrum
Introduccion Aplicaciones Web en java j2ee
Introduccion Aplicaciones Web en java j2ee Introduccion Aplicaciones Web en java j2ee
Introduccion Aplicaciones Web en java j2ee
Rodrigo Zottola Pareja
 
Aplicaciones de escritorio con base de datos
Aplicaciones de escritorio con base de datosAplicaciones de escritorio con base de datos
Aplicaciones de escritorio con base de datosmariluruizramirez97
 
Línea del tiempo sobre los Sistemas Gestores de Bases de Datos
Línea del tiempo sobre los Sistemas Gestores de Bases de DatosLínea del tiempo sobre los Sistemas Gestores de Bases de Datos
Línea del tiempo sobre los Sistemas Gestores de Bases de Datos
Alejandra Caballero Quintero
 
63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-java63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-javaGilberto Garcia Zavaleta
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web javaCésar Ocampo
 
Cuidado e instalación de cartuchos de tinta
Cuidado e instalación de cartuchos de tintaCuidado e instalación de cartuchos de tinta
Cuidado e instalación de cartuchos de tintaJuventud Musical
 
Manual de Netbeans
Manual de NetbeansManual de Netbeans
Manual de Netbeans
Gaby Villarreal
 
Java web Lección 04 - JSTL
Java web Lección 04 - JSTLJava web Lección 04 - JSTL
Java web Lección 04 - JSTL
Eric Gustavo Coronel Castillo
 
Java web 01 - servlets
Java web 01 - servletsJava web 01 - servlets
Java web 01 - servlets
Eric Gustavo Coronel Castillo
 
Java Web Lección 02 - JSP
Java Web Lección 02 - JSPJava Web Lección 02 - JSP
Java Web Lección 02 - JSP
Eric Gustavo Coronel Castillo
 
Java Web Lección 03 - MVC
Java Web Lección 03 - MVCJava Web Lección 03 - MVC
Java Web Lección 03 - MVC
Eric Gustavo Coronel Castillo
 
Java Web 00 - Contexto
Java Web 00 - ContextoJava Web 00 - Contexto
Java Web 00 - Contexto
Eric Gustavo Coronel Castillo
 

Destacado (16)

Gwt intro adwe_murcia
Gwt intro adwe_murciaGwt intro adwe_murcia
Gwt intro adwe_murcia
 
Proceso MDA y Scrum
Proceso MDA y ScrumProceso MDA y Scrum
Proceso MDA y Scrum
 
Introduccion Aplicaciones Web en java j2ee
Introduccion Aplicaciones Web en java j2ee Introduccion Aplicaciones Web en java j2ee
Introduccion Aplicaciones Web en java j2ee
 
Aplicaciones de escritorio con base de datos
Aplicaciones de escritorio con base de datosAplicaciones de escritorio con base de datos
Aplicaciones de escritorio con base de datos
 
Línea del tiempo sobre los Sistemas Gestores de Bases de Datos
Línea del tiempo sobre los Sistemas Gestores de Bases de DatosLínea del tiempo sobre los Sistemas Gestores de Bases de Datos
Línea del tiempo sobre los Sistemas Gestores de Bases de Datos
 
63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-java63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-java
 
Resolucion del monitor
Resolucion del monitorResolucion del monitor
Resolucion del monitor
 
2.trabajando connavegadores
2.trabajando connavegadores2.trabajando connavegadores
2.trabajando connavegadores
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web java
 
Cuidado e instalación de cartuchos de tinta
Cuidado e instalación de cartuchos de tintaCuidado e instalación de cartuchos de tinta
Cuidado e instalación de cartuchos de tinta
 
Manual de Netbeans
Manual de NetbeansManual de Netbeans
Manual de Netbeans
 
Java web Lección 04 - JSTL
Java web Lección 04 - JSTLJava web Lección 04 - JSTL
Java web Lección 04 - JSTL
 
Java web 01 - servlets
Java web 01 - servletsJava web 01 - servlets
Java web 01 - servlets
 
Java Web Lección 02 - JSP
Java Web Lección 02 - JSPJava Web Lección 02 - JSP
Java Web Lección 02 - JSP
 
Java Web Lección 03 - MVC
Java Web Lección 03 - MVCJava Web Lección 03 - MVC
Java Web Lección 03 - MVC
 
Java Web 00 - Contexto
Java Web 00 - ContextoJava Web 00 - Contexto
Java Web 00 - Contexto
 

Similar a Google Web Toolkit

Aprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptAprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScript
Karsarmi
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
Guido De Benedetti
 
GWT - Una introducción
GWT - Una introducciónGWT - Una introducción
GWT - Una introducción
Carlos Gavidia-Calderon
 
Curso java desde cero nivel i - modulo i
Curso java desde cero   nivel i - modulo iCurso java desde cero   nivel i - modulo i
Curso java desde cero nivel i - modulo i
Giovanny Guillen
 
Introducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - JavaIntroducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - Java
Facultad de Ciencias y Sistemas
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
Santiago Sora
 
Dragome en JavaConf Buenos Aires 2014
Dragome en JavaConf Buenos Aires 2014 Dragome en JavaConf Buenos Aires 2014
Dragome en JavaConf Buenos Aires 2014
Fernando Petrola
 
Imagina Upna 2010
Imagina Upna 2010Imagina Upna 2010
Imagina Upna 2010
guestdb0cb
 
Trabajo de java
Trabajo de javaTrabajo de java
Trabajo de javajumper2099
 
Qué es java
Qué es javaQué es java
Java ventajas y caracteristicas
Java ventajas y caracteristicasJava ventajas y caracteristicas
Java ventajas y caracteristicasbat1820
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCF
mikaelsorai
 
Herramientas de desarrollo.pptx
Herramientas de desarrollo.pptxHerramientas de desarrollo.pptx
Herramientas de desarrollo.pptx
NicolasCBarrantes
 
Clase2
Clase2Clase2
Clase2rilara
 
Net Beans
Net BeansNet Beans
Net Beans
Pablo perez
 
[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con JavaEudris Cabrera
 

Similar a Google Web Toolkit (20)

Aprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptAprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScript
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
GWT - Una introducción
GWT - Una introducciónGWT - Una introducción
GWT - Una introducción
 
GWT
GWTGWT
GWT
 
Curso java desde cero nivel i - modulo i
Curso java desde cero   nivel i - modulo iCurso java desde cero   nivel i - modulo i
Curso java desde cero nivel i - modulo i
 
5 lenguaje
5 lenguaje5 lenguaje
5 lenguaje
 
5 lenguaje (caso de uso)
5 lenguaje  (caso de uso)5 lenguaje  (caso de uso)
5 lenguaje (caso de uso)
 
Introducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - JavaIntroducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - Java
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
 
Dragome en JavaConf Buenos Aires 2014
Dragome en JavaConf Buenos Aires 2014 Dragome en JavaConf Buenos Aires 2014
Dragome en JavaConf Buenos Aires 2014
 
Imagina Upna 2010
Imagina Upna 2010Imagina Upna 2010
Imagina Upna 2010
 
Trabajo de java
Trabajo de javaTrabajo de java
Trabajo de java
 
Qué es java
Qué es javaQué es java
Qué es java
 
Java ventajas y caracteristicas
Java ventajas y caracteristicasJava ventajas y caracteristicas
Java ventajas y caracteristicas
 
Mau
MauMau
Mau
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCF
 
Herramientas de desarrollo.pptx
Herramientas de desarrollo.pptxHerramientas de desarrollo.pptx
Herramientas de desarrollo.pptx
 
Clase2
Clase2Clase2
Clase2
 
Net Beans
Net BeansNet Beans
Net Beans
 
[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java
 

Más de Ingenieria Informatica Empresarial

Presentacion practicas externas I2E
Presentacion practicas externas I2EPresentacion practicas externas I2E
Presentacion practicas externas I2E
Ingenieria Informatica Empresarial
 
Scrum y ecosistema software en i2e
Scrum y ecosistema software en i2eScrum y ecosistema software en i2e
Scrum y ecosistema software en i2e
Ingenieria Informatica Empresarial
 
Proceso MDA y Scrum v2
Proceso MDA y Scrum v2Proceso MDA y Scrum v2
Proceso MDA y Scrum v2
Ingenieria Informatica Empresarial
 
Presentación Tecnológica del ERP-I2E
Presentación Tecnológica del ERP-I2EPresentación Tecnológica del ERP-I2E
Presentación Tecnológica del ERP-I2E
Ingenieria Informatica Empresarial
 
Web 2.0 y Redes Sociales
Web 2.0 y Redes SocialesWeb 2.0 y Redes Sociales
Web 2.0 y Redes Sociales
Ingenieria Informatica Empresarial
 

Más de Ingenieria Informatica Empresarial (6)

Presentacion practicas externas I2E
Presentacion practicas externas I2EPresentacion practicas externas I2E
Presentacion practicas externas I2E
 
Nuestra experiencia Emprendiendo
Nuestra experiencia EmprendiendoNuestra experiencia Emprendiendo
Nuestra experiencia Emprendiendo
 
Scrum y ecosistema software en i2e
Scrum y ecosistema software en i2eScrum y ecosistema software en i2e
Scrum y ecosistema software en i2e
 
Proceso MDA y Scrum v2
Proceso MDA y Scrum v2Proceso MDA y Scrum v2
Proceso MDA y Scrum v2
 
Presentación Tecnológica del ERP-I2E
Presentación Tecnológica del ERP-I2EPresentación Tecnológica del ERP-I2E
Presentación Tecnológica del ERP-I2E
 
Web 2.0 y Redes Sociales
Web 2.0 y Redes SocialesWeb 2.0 y Redes Sociales
Web 2.0 y Redes Sociales
 

Último

Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 

Último (20)

Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 

Google Web Toolkit

  • 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.
  • 36. 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/io/sessions.html#gwt http://groups.google.com/group/Google-Web-Toolkit
  • 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