Una de las herramientas que más me ha sorprendido últimamente es Google Web Toolkit (en adelante GWT) especialmente al conocer que Óscar Frías lo ha utilizado en su proyecto Trabber.com. Conozco a Óscar desde que le hice esta entrevista sobre Trabber, así que me he decidido a hacerle algunas preguntas sobre su experiencia con GWT, cuyas respuestas sintetizo en este post.

Comenta Óscar que Google Web Toolkit le ha sido útil porque Trabber busca en muchas webs de vuelos y hoteles simultáneamente y necesita presentar una página de resultados muy rica en información donde los comportamientos dinámicos (Ajax) son muy importantes para encontrar los mejores precios.

Me aclara Óscar que la ventaja principal de GWT para él ha sido el aumento de la productividad. La página de resultados de hoteles de Trabber le ha sido mucho más rápida y fácil de desarrollar que la página de resultados de la búsqueda de vuelos que hicieron hace ya tiempo a mano. A Óscar le gusta especialmente GWT porque todo el desarrollo se realiza en Java, que es su lenguaje favorito, y en el que se siente más productivo. Además puede utilizar herramientas para Java como IntelliJ IDEA o Eclipse para aumentar aún más su productividad y como el resto de Trabber también está hecho en Java la integración es aún más fácil. La productividad es un elemento clave en un equipo como el de Trabber compuesto por sólo 2 personas y que compite con grandes empresas del sector.

Óscar recomienda GWT para páginas web que funcionen como pequeñas aplicaciones y que no necesiten ser indexadas por Google. Por ejemplo, páginas con contenidos dinámicos que se actualizan constantemente o con muchas opciones de ordenación/filtrado, es decir, páginas similares a los resultados de la búsqueda de hoteles en Trabber.com.


Óscar cree que GWT está especialmente indicado para programadores que prefieren evitar el lenguaje Javascript y no tener que lidiar con las particularidades de cada navegador, así como los problemas de compatibilidad, ya que GWT genera automáticamente un código javascript compatible con todos los navegadores. En el caso de Trabber el javascript generado es muy pequeño, unos 40 Kb comprimido, que además solo se baja una vez porque se cachea para siempre.

Otra ventaja añadida de GWT son las llamadas remotas (RPC) para la actualización de los resultados de los hoteles en tiempo real, a medida que los proveedores devuelven sus resultados a Trabber. En el caso de Trabber se transmiten bastantes datos que incluyen por ejemplo la descripción de todos los hoteles, pero a pesar de eso Óscar nos confirma que el tiempo de respuesta es muy bueno.

Por último la Javascript Native Interface (JSNI) ha permitido integrar fácilmente Google Maps en Trabber.com y ademas GWT tiene soporte para internacionalización, algo especialmente interesante para aplicaciones como Trabber que tiene versiones para 6 países en diferentes idiomas.

Si queréis saber más podéis consultar la página de Google Web Toolkit.