GWT

De Dos Ideas.
Revisión del 18:07 29 abr 2010 de 201.251.182.130 (discusión) (Ver también)
Saltar a: navegación, buscar

GWT o Google Web Toolkit es un framework creado por Google que permite construir interfaces de usuario ricas (RIA) y ocultar la complejidad de desarrollar en JavaScript de forma compatible para múltiples navegadores.

El concepto de Google Web Toolkit es bastante sencillo. Consiste en una series de traductores de código escrito en Java, a HTML y JavaScript.

GWT encapsula la complejidad de las diferencias de implementación de Javascript entre los browsers, generando código específico para cada una. La aplicación, durante el proceso de inicialización detecta el browser y descarga los archivos compatibles al mismo.

Características

  • Provee componentes gráficos dinámicos y reusables.
  • Permite al desarrollador crear sus propios componentes reusables, por composición y desarrollar orientado a objetos.
  • Los desarrolladores no necesitan conocer Javascript.
  • Mecanismo RPC Ajax.
  • Utiliza Json para la serialización de objetos.
  • Gestión del historial del navegador web.
  • Soporte para "themes"
  • Soporte para depurado de Java.
  • Integración con JUnit.
  • Internacionalización.
  • Los desarrolladores pueden utilizar código escrito en Javascript dentro del código Java usando la Interfaz Nativa Javascript (JSNI).
    • Este punto es uno de los puntos más poderosos, porque permite embeber otros componentes Javascript y hacer componentes híbridos.
    • Este mecanismo es utilizado para extender la funcionalidad de GWT y para proveer una interfaz Java a otros frameworks Ajax.
  • Es de código abierto.
  • El código Javascript generado es predeterminadamente ofuscado para minimizar el tamñano de descarga.
  • A partir de la versión 2.0 ofrece la posibilidad de descarga de código por demanda, por lo que se solo se descarga el código que se utiliza.
    • Eso permite minimizar el ancho de banda necesario y mejorar el tiempo de inicio.
    • SOYC (Story of your Compile), permite ver la depedencia entre los componentes para poder optimizar la descarga por demanda.
  • Existen plugins para desarrollar desde Eclipse

Ver también