Tutor: Ing. Juan E. Talavera Horn 2010 Google Web Toolkit (GWT)

Slides:



Advertisements
Presentaciones similares
Programación Interactiva Introducción a Java
Advertisements

Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
INTRODUCCIÓN A JAVA.
Tecnologías de soporte para e-learning UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA UNIVERSITARIA DE INFORMÁTICA Departamento de Organización y Estructura.
FLAN “F- LINKS AND NODES”
Instructor :LIC. Jairo Flores de la o
"java del lado del servidor" Servlet y JSP Java Server Pages.
INFOPATH.
GWT Designer, Organización del proyecto GWT Google Web Toolkit Prof
Introducción a las aplicaciones WEB y GWT Google Web Toolkit Prof. Ing
Módulo 1: Primeros Pasos
RMI Remote Method Invocation
Webservices de búsqueda en bases de datos Isis Ing. Victor Ricardo Díaz Esp. Computación INFOMED.
CGI.   Cuando el World Wide Web inició su funcionamiento como lo conocemos, empezando a tomar popularidad aproximadamente en 1993, solo se podía apreciar.
Tecnologías para el desarrollo de aplicaciones Web
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
Laboratorio 1 JavaScript.
Propósito: * Mostrar indicativos porcentuales de los diversos microorganismos con los que se alimentan el camarón en un manejo semi-intensivo aplicado.
Introducción a la Programación. Lenguaje de Máquina.
Portal Docente Virtual : Grupo Andaluz de Investigación: ‘Topología Computacional y Matemática Aplicada Proyecto Fin de Carrera Realizado por: Pablo Germán.
3 PROGRAMAR EN UN LENGUAJE DE HIPERTEXTO L.I. OSWALDO MARTINEZ C. EDPW.
F RAMEWORKS DE DESARROLLO JAVA,.NET Deisy Pérez Sánchez.
INTRODUCCIÓN A LA PROGRAMACIÓN WEB
InfoPath Ventajas y Uso.
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Prof. José T. Cadenas. Aplicación Web La Internet y la Web hacen que sea fácil y atractivo poner toda la información en el cyberespacio, y la hace accesible.
Características de la interfaz de desarrollo
Tutor: Ing. Juan E. Talavera Horn 2010 GWT – EJB Patrones de diseño e integración.
Lenguajes de programación Web
Presentado por: Denisse Saltos Tiziana Herrera.
Curso de Java La tecnología Java
INTRODUCCIÓN A AJAX. ¿Qué es AJAX? Acrónimo de Asynchronous JavaScript And XML No es ninguna tecnología, ni lenguaje de programación. Es una técnica de.
PHP-MYSQL Introducción Prof. Juan Carlos Lima Cruz Colegio IPTCE.
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
Lenguajes de Programación
 La primera versión fue desarrollada por Robert McCool, quien desarrollaba el servidor web NCSA HTTPd (National Center for Supercomputing Applications).
Mensajería cliente-servidor en Flex y Java
LOGO e-Learning Desktop Integración de RIA’s a objetos de Aprendizaje Alvaro Rodríguez, Darvin Orozco, Rocael Hernández Universidad Galileo {alvrodriguez,
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Cristian Fonnegra Marin
SEMINARIO 2 Miembros del grupo: Juan Francisco García Jorge Mahecha Sergi Mellado.
NAVEGADORES DE INTERNET
¿QUE SON LAS ACTUALIZACIONES?  Las actualizaciones son adiciones al software que pueden evitar problemas o corregirlos, mejorar el funcionamiento del.
DIEGO ARMANDO GÓMEZ CUERVO Desarrollo de aplicaciones WEB con herramientas de software libre.
Desarrollo DE apps móviles
Roles de Open UP.
Naime Cecilia del Toro Alvarez
APACHE WEB SERVER El proyecto Apache Web Server es un desarrollo de software en colaboración, enfocado en crear una implementación de un servidor HTTP.
Capítulo 9: Detección de Errores MSc. Alexis Cabrera Mondeja.
Desarrollo DE apps móviles
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
Manejá tus tiempos Facultad de Ingeniería de la Universidad de Buenos Aires – Marzo 2012.
Manejá tus tiempos Facultad de Ingeniería de la Universidad de Buenos Aires – Marzo 2012.
Integrante: Mariana Alcalá Hdz María del Carmen Andrade G. Alondra E. García Mtz Joselyn Gpe García V. Antonio de Jesús Hdz R. Cristian Jesús Ruvalcaba.
Manejá tus tiempos Facultad de Ingeniería de la Universidad de Buenos Aires – Marzo 2012.
“Está diseñado como la nueva generación en comunicación a través de Internet”
 Es un lenguaje de programación interpretado, es decir, que no requiere compilación, utilizado principalmente en páginas web, con una sintaxis semejante.
¿ Por que utilizar Java y la POO
Explicación del trabajo académico y Proyecto Final
Bases de Datos y Sistemas de Gestión de Bases Relacionales.
Integrantes Miguel Betancourt Alexis Tacuri.  Activiti es una plataforma para la formación de flujos de trabajo y procesos empresariales dentro del.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
WINDOWS SERVER 2008 r2 ADMINISTRACION DE RECURSOS: Con el Administrador de recursos del sistema de Windows del sistema operativo Windows Server® 2008 R2,
Java Script. Como habilitar JavaScript en tu navegador
1/11Departamento de Informática Tributaria AJAX Fundamentos básicos ( ) AJAX Fundamentos básicos ( )
Conociendo el modelo Cliente-Servidor
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Aplicaciones Web Verano Programación de aplicaciones Web FCC-BUAP Verano 2016BMB - RAM2.
Transcripción de la presentación:

Tutor: Ing. Juan E. Talavera Horn 2010 Google Web Toolkit (GWT)

Contenido  Introducción  Ventajas  Desventajas  Arquitectura  API GWT

GWT. Manifiesto  Mejorar radicalmente la experiencia de los usuarios con la web permitiendo a los desarrolladores utilizar herramientas Java existentes para construir aplicaciones AJAX de manera sencilla e independientes del navegador utilizado.

Introducción a GWT  Google Web Toolkit (GWT) es un framework de código abierto desarrollado por Google y lanzado en mayo del 2006 bajo la licencia Apache 2.0.  GWT permite crear aplicaciones AJAX utilizando el lenguaje de programación Java que son compiladas posteriormente por el compilador de GWT en código JavaScript optimizado para los principales navegadores.

Ventajas de GWT (I)  No se necesita mucho conocimiento de otros lenguajes (JavaScript) Se utiliza el lenguaje de programación Java. Esto permite tener todas las ventajas de dicho lenguaje y utilizar una gran cantidad de herramientas disponibles para el mismo.  Los errores comunes JavaScripts (typos, type mismatches) son capturados por el programador durante compilación en vez de por los usuarios durante la ejecución.  No se necesita trabajar con las incompatibilidades de los navegadores.

Ventajas de GWT (II)  No se necesita mucho conocimiento del DOM API. Se utiliza Java API.  Compatible con varias herramientas para desarrollar/depurar/probar las aplicaciones.  Integración con JUnit.  Internacionalización.  Depuración en tiempo real

Desventajas de GWT  No es un enfoque estándar de HTML y JavaScript La generación automática de HTML podría hacer más difícil el uso de herramientas estándar de HTML y CSS. No se utiliza directamente código JavaScript en el HTML.  Sólo para desarrolladores Java. Muchos entornos Ajax permiten utilizar JavaScript en el cliente y luego elegir el lenguaje en el servidor. GWT se encuentra basado enteramente en Java.  Enfoque Inusual. Lo cual hace que la evaluación y administración se más díficil.

Arquitectura de GWT

Arquitectura de GWT (II)  Compilador Java To JavaScript Convierte código Java a código JavaScript. T iene tres modos en los que puede operar, los cuales determinan cómo se verá:  Obfuscate: por defecto. Genera código inentendible y altamente optimizado.  Pretty: genera código JavaScript entendible.  Detailed: produce código al igual que el modo pretty pero agregando el nombre completo de la clase como parte del nombre de las funciones. El código JavaScript es generado en archivos para cada tipo de navegador e idioma. Al iniciar el navegador el mismo ejecuta código que permite obtener la versión correcta del archivo para la aplicación.

Arquitectura de GWT (III)  Java Script Native Interface (JSNI) A pesar de que se programe en Java en vez de JavaScript, en ocasiones se necesitará programar directamente en JavaScript, por ejemplo, para hacer referencia a partes del API del navegador que no esté soportado por GWT o para utilizar alguna librería JavaScript no muy común. JSNI permite ejecutar JavaScript desde Java, como también Java desde JavaScript. Esto hace posible al compilador GWT que pueda mezclar código JavaScript nativo con el código que genera.

Arquitectura de GWT (IV)  JRE Emulation Library Esta librería da a GWT la habilidad de utilizar clases JRE en los proyectos y ser compilados luego a JavaScript. Las clases pertenecen a un subconjunto de los paquetes java.lang y java.util, que incluyen clases para el manejo de números y fechas, operaciones matemáticas, excepciones, listas y colecciones, etc.

GWT API (I)  Widgets y Paneles GWT trae una gran cantidad de widgets y paneles. La diferencia entre ambos es que un widget es una especie de control utilizado por el usuario y un panel es un contenedor en el que pueden ser colocados los widgets. Las clases GWT para la interfaz de usuario son similares a Swing o SWT. A pesar de que existen más de 30 widgets y paneles, posiblemente no cubran todas las necesidades, por lo que se permite utilizar widgets y paneles de proyectos de código abierto, los que proveen calendarios, tablas ordenables, calculadoras, paneles para dibujo, etc.

GWT API (II)

GWT API (III)  Remote Procedure Call (RPC) El mecanismo para interactuar con el servidor, de manera a hacer actualizaciones en la interfaz de usuario, es llamado Remote Procedure Call (RPC), también conocido como llamada al servidor (server call). Los navegadores de hoy en día tienen un objeto JavaScript llamado XMLHttpRequest que permite este tipo de comunicación entre el navegador y el servidor sin que se refresque toda la página HTML. GWT provee dos herramientas que utilizan el objeto XMLHttpRequest. La primera es la clase RequestBuilder que es esencialmente una envoltura para este objeto. La segunda herramienta es llamada GWT-RPC, y es más elaborada, permitiendo que puedan ser enviados y recibidos objetos Java entre el cliente y el servidor.

GWT API (IV)  Historial del Navegador Cuando se reemplaza un pedazo de contenido en una página web de manera dinámica con JavaScript, el navegador no lo considera como un cambio de página, por lo que no registra en su historial. Esto causa que los botones Retroceder y Avanzar del navegador no se comporten como el usuario esperaría GWT provee un mecanismo para administrar el historial del navegador que funciona con este tipo de aplicaciones. Para acceder al mismo, es necesario escribir un manejador de eventos que implemente la interfaz HistoryListener y luego éste debe ser registrado en el objeto History : History.addHistoryListener(new MyHistoryListener()); History.newItem("overview"); History.newItem("reports");

GWT API (V)  Testeo Development Mode (hosted mode en GWT 1.x): Modo de depuración donde se puede interactuar y probar al aplicación GWT sin ser traducida a javascript. Al correr en este modo la JVM esta ejecutando el código de la aplicación como un archivo ByteCode compilado. Production Mode (web mode en GWT 1.x): Modo en que la aplicación es traducida a javascript, y ejecutada solamente por el explorador, sin uso de la JVM.

GWT API (VI)  Testeo GWT incluye la clase base GWTTestCase que hereda de la clase base TestCase de Junit y de esta forma permite la integración con el mismo. Para implementar la clase de prueba, GWT provee una herramienta llamada junitCreator que genera una clase de prueba más scripts para probar en los modos development mode y production mode. También se puede utilizar otras herramientas como Selenium o WebDriver para realizar los test de la interfaz de usuario.

GWT - Herramientas  Herramientas de Línea de Comandos projectCreator: Genera el esqueleto de un proyecto básico y un archivo Ant opcional y/o proyecto para Eclipse. aplicationCreator: Genera el lanzador de una aplicación. junitCreator: Genera un test Junit. i18nCreator: Genera un archivo de propiedades i18n y un script de sincronización. benchmarkViewer: Muestra resultados benchmark

Plataforma de desarrollo  Eclipse  Plugin de GWT para eclipse  Development Kit y Runtime de GWT  Browser (Firefox, IE, Chrome)  Plugin para browser específico

MemoryProxy > ciudadProxy = new MemoryProxy >(ciudades); BeanModelReader ciudadReader = new BeanModelReader(); final BaseListLoader ciudadLoader = new BaseListLoader(ciudadProxy, ciudadReader); final ListStore ciudadStore = new ListStore (ciudadLoader); final ComboBox ciudadCombo = new ComboBox (); ciudadCombo.setEmptyText(cons.comboSeleccionar()); ciudadCombo.setFieldLabel(cons.empleadoCiudad()); ciudadCombo.setDisplayField("nombre"); ciudadCombo.setStore(ciudadStore); (Ciudad)ciudadCombo.getValue().getBean()