viernes, 26 de abril de 2013

GWT (Google Web Toolkit)






GWT es un framework creado por Google para crear RIA's (Rich Internet Applications) basadas en HTML y JavaScript. Las aplicaciones AJAX creadas con este framework tienen alta compatibilidad con los navegadores, capacidad de depuración y soporte para internacionalización. Y como sucede con este tipo de aplicaciones, no es necesario el uso del botón "Atrás" del navegador o actualizaciones de la página para realizar las operaciones del sistema.

Este framework permite escribir aplicaciones utilizando el lenguaje Java, lo cual es una gran ventaja y ayuda a resolver muchos problemas usando las características que ofrece este ecosistema para dar soporte a la aplicación. El código escrito usando este framework para construir aplicaciones web, es bastante parecido a las clásicas aplicaciones de Java Swing o cualquier toolkit gráfico estándar, además, cuenta con la característica de compilación al tiempo de escribir el código. En adición GWT puede ser usado en el IDE de preferencia del desarrollador, todas las herramientas y plug-ins disponibles para éste funcionarán también con GWT, todo esto para ayudar a escribir el mejor código posible.

Compatibilidad entre navegadores

Por ota parte, GWT toma el tradicional código escrito en Java, lo compila y traduce finalmente a HTML y JavaScript, lo cual implica que el compilador puede hacer todas las operaciones necesarias para optimizar las rutinas especificas de JavaScript de cada explorador y generarlas automáticamente en tiempo de compilación para asegurar la interoperabilidad entre navegadores en el menor tiempo posible. 


La compatibilidad entre exploradores se logra mediante el envío del código que es adecuado para el explorador y el sitio del cliente, a esta información local se le denomina "propiedades del cliente" y de esta manera se determina que versión del sistema se usará. En seguida se anexa una descripción hecha por el equipo de google que ilustra este complicado proceso:

“En tiempo de compilación, el compilador determina todas las posibles permutaciones de un módulo y sus propiedades de cliente, desde las cuales produce múltiples compilaciones. Cada compilación está optimizada para un diferente conjunto de propiedades de cliente y se almacena en un archivo con terminación .cache.html.
En el despliegue, el explorador del usuario final solo necesita una particular compilación, la cual se determina por el mapeo de las propiedades del cliente y las permutaciones compiladas disponibles. Así, solo el código requerido por el usuario final es el que se descarga, nada más. Mediante una propiedad local del cliente, el proceso de inicio estándar definido en el archivo gwt.js elije la apropiada versión localizada de la aplicación, proveyendo facilidad de uso, rendimiento optimizado, y un mínimo tamaño de scripts.”
 
 -Google’s Internationalization documentation.

Esto significa que el compilador de GWT creará un conjunto de archivos para cada posible cliente y posteriormente el cargador de GWT averiguará cual es la permutación compilada que le corresponde para que esta versión sea descargada al cliente.

Llamadas al Servidor

Respecto a las llamdas asíncronas al servidor, GWT provee una infraestructura de Llamada a Procedimientos Remotos (RPC) lo cual se parece mucho más al procesamiento de un evento estándar y ayuda a costumbrarse al hecho de esperar por los resultados de la petición del procedimiento del servidor. Aunque GWT proporciona este método de comunicación con el servidor, no es el único disponible y dependerá de las necesidades de la aplicación el uso de una diferente estrátegia de comunicación.

Mientras se está desarrollando la aplicación el código es traducido a bytecode y ejecutado por la máquina virtual, cuando está lista la aplicación el código se traduce finalmente a JavaScript para publicarlo en un servidor web.

Compatibilidad con otras Tecnologías

GWT no podría trabajar solo, este framework es totalmente compatible con otras tecnologías usadas en Java para mejorar la productividad de la aplicación. Algunas de ellas son:

•    Hibernate, mapeo de objetos relacionales
•    EclipseLink, mapeo de objetos relacionales
•    Spring, framework de aplicación
•    SiteMesh, framework de decoración, etc.


Víctor Rojas
Desarrollador





3 comentarios:

  1. amigo coordial saludo gracias por compartir y si puedes compartir una aplicacion en GWT y conexion a base de datos porfavor publicala gracias

    ResponderEliminar
    Respuestas
    1. Hola Vianey,
      El experto en este tema, Víctor Rojas, ya publicó un nuevo blog con tu solicitud, un tutorial para construir aplicaciones con Java y GWT.
      Visítalo en: http://www.dawcons.com/blog_tutorial_contruyendo_aplicaciones_java_gwt.php

      Eliminar
  2. Que tal Vianey.
    Dawcons se renueva a DW. Este blog emigrará a
    http://dwsoftware.mx/blog/ En dicho portal se continuará publicando nuevos artículos relacionados a tecnologías de la información.
    Registrase y manténgase informado de las nuevas tecnologías, lenguajes y acontecimientos de esta industria.

    ResponderEliminar