Mis favoritos | Español | Acceder

Aspectos generales del producto

Actualmente, la creación de aplicaciones web resulta un proceso pesado y propenso a errores. Los desarrolladores pueden pasar el 90% de su tiempo estudiando las peculiaridades de los navegadores. Por otra parte, la creación, la reutilización y el mantenimiento de una gran cantidad de componentes AJAX y bases de código JavaScript pueden ser tareas complejas y delicadas. Google Web Toolkit (GWT) facilita estas arduas tareas al ofrecer a los desarrolladores la posibilidad de crear y mantener rápidamente aplicaciones JavaScript con interfaces complejas, pero de gran rendimiento, en el lenguaje de programación Java.

Funcionamiento de Google Web Toolkit

Google Web Toolkit (GWT) permite crear aplicaciones AJAX en el lenguaje de programación Java que son compiladas posteriormente por GWT en código JavaScript ejecutable optimizado que funciona automáticamente en los principales navegadores. Durante el desarrollo de una aplicación, puedes repetir rápidamente el mismo ciclo "editar - actualizar - ver" típico de JavaScript y aprovechar la ventaja añadida de poder depurar y recorrer una a una todas las líneas de código Java. Cuando estés listo para la implementación, GWT compilará el código fuente Java en archivos JavaScript optimizados independientes. Google Web Toolkit te permite crear fácilmente tanto un artilugio para una página web como una aplicación completa.

Crea aplicaciones AJAX en lenguaje Java y compílalas en código JavaScript optimizado

A diferencia de los minimizadores de JavaScript, que solo funcionan con texto, el compilador de GWT realiza optimizaciones y un análisis estático completo de toda la base de código de GWT y, frecuentemente, genera código JavaScript que se carga y ejecuta con mayor rapidez que el código JavaScript equivalente creado de forma manual. Por ejemplo, el compilador de GWT suprime de forma segura todo el código no utilizable (mediante una exhaustiva tarea de eliminación de clases, métodos, campos, e incluso parámetros, que no se utilizan) para asegurarse de que el archivo de secuencias de comandos compilado sea lo más pequeño posible. Otro ejemplo: el compilador de GWT realiza una sustitución selectiva de llamadas a funciones en los métodos, lo que permite optimizar el rendimiento de las ejecuciones de métodos.

La compilación cruzada te ofrece la modularidad y las abstracciones mantenibles que necesitas para desarrollar aplicaciones sin sufrir una disminución del rendimiento durante la ejecución del programa. Más información

Flujo de trabajo de desarrollo

Edita código Java y visualiza los cambios inmediatamente sin tener que volver a compilarlo

Durante el desarrollo de una aplicación, puedes ver inmediatamente los cambios que hayas realizado en el código mediante el navegador de modo alojado de GWT. No es necesario que vuelvas a compilar el código en JavaScript ni que lo implementes en un servidor. Solo tienes que realizar los cambios que desees y hacer clic en "Actualizar" en el navegador de modo alojado.

Recorre todo el código AJAX utilizable con el depurador de Java

Durante la producción, tu código se compilará como JavaScript sin formato; sin embargo, mientras estés desarrollando la aplicación, se ejecutará en el equipo virtual de Java como código de bytes. Eso significa que, cuando el código realice una acción como gestionar un evento de ratón, obtendrás una depuración de Java normal completa. Todo lo que pueda hacer el depurador de Java se aplicará también al código GWT. Por lo tanto, naturalmente estarán disponibles algunas funciones, como la depuración paso a paso y con puntos de interrupción. Más información

Compila e implementa código JavaScript optimizado para varios navegadores

Cuando estés listo para la implementación, GWT compilará el código Java en archivos JavaScript independientes sin formato 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. Solo tendrás que escribir el código una vez y GWT lo convertirá al formato JavaScript más adecuado para el navegador de cada usuario. Más información

Sugerencia: si utilizas Eclipse, es posible que el complemento de Google para Eclipse te resulte útil.

Funciones

Comunícate con el servidor mediante una sencillísima llamada RPC

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 especialmente sencilla y eficaz. Al igual que ocurre con el mecanismo de invocación de métodos remotos (RMI) tradicional de Java, tan solo hay que crear una interfaz que especifique los métodos remotos que se quieran ejecutar. 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. El mecanismo RPC de GWT también es bastante sofisticado: permite gestionar jerarquías de clase polimórfica y ciclos de gráficos de objetos, e incluso generar excepciones durante el proceso. Más información

Optimiza las descargas de archivos de secuencias de comandos JavaScript según el perfil del usuario

La "vinculación aplazada" es una función de GWT que genera múltiples versiones del código compilado. Cada cliente solo tiene que cargar una de esas versiones durante la ejecución del cargador de inicialización. Cada versión se genera para un determinado navegador, junto con cualquier otro eje definido o utilizado por la aplicación. Por ejemplo, si quisieras internacionalizar tu aplicación mediante el módulo de internacionalización de GWT, el compilador de GWT generaría versiones de la aplicación para cada entorno de navegación, por ejemplo, "Firefox en inglés", "Firefox en francés", "Internet Explorer en inglés", etc. Por tanto, el código JavaScript implementado es compacto y se puede descargar con más rapidez que las instrucciones "if/then" creadas en JavaScript. Más información

Utiliza componentes de la interfaz de usuario en varios proyectos

Puedes crear artilugios reutilizables mediante la composición de otros artilugios y colocarlos después fácilmente en paneles. La aplicación Showcase de GWT ofrece una visión general de las distintas funciones de interfaz de usuario de GWT. ¿Quieres reutilizar tu artilugio en otro proyecto? Solo tienes que prepararlo para que se pueda utilizar en un archivo JAR. Más información

Utiliza otras bibliotecas JavaScript y código JavaScript original

Si la biblioteca de clases de GWT no satisface tus necesidades, puedes mezclar JavaScript manual en el código fuente Java mediante la interfaz JSNI. Con GWT 1.5, ahora es posible clasificar en subclases la clase JavaScriptObject (JSO) de GWT para crear "superposiciones de clases" Java en objetos JavaScript arbitrarios. GWT ofrece, por tanto, la ventaja de poder crear modelos de objetos JS como tipos de Java (por ejemplo, creación de código, reestructuración, sustitución de llamadas a funciones, etc.) sin tener que contar con una mayor cantidad de memoria ni sufrir una disminución de velocidad. Esta función posibilita un uso óptimo de las estructuras JSON. Más información

Fácil uso del historial y del botón de retroceso del navegador

No, las aplicaciones AJAX no necesitan desgastar el botón de retroceso del navegador. GWT hace que resulte más sencillo utilizar tu sitio con solo añadir el estado al historial del botón de retroceso del navegador. Más información

Localiza tus aplicaciones de una forma eficaz

Puedes crear fácilmente bibliotecas y aplicaciones internacionalizadas con las potentes técnicas de vinculación aplazada de GWT. Además, a partir de la versión 1.5, los artilugios GWT estándar admiten la bidireccionalidad. Más información

Elige tus herramientas de desarrollo de forma productiva

GWT utiliza Java, por lo que puedes emplear todas tus herramientas favoritas de desarrollo con Java (Eclipse, IntelliJ, JProfiler y JUnit) al crear tus aplicaciones AJAX. De esa forma, como desarrollador web, podrás beneficiarte del aumento de productividad derivado de la creación/solicitud de código y de la reestructuración de Java automatizada. Por otra parte, la comprobación de tipo estático en lenguaje Java permite que los desarrolladores detecten una clase de errores de JavaScript (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. Ningún usuario tendrá que volver a descubrir asignaciones de variables accidentales. Por último, puedes aprovechar abstracciones y patrones de diseño orientados a objetos (OO) basados en Java que los usuarios de tus aplicaciones podrán comprender y mantener con facilidad sin sufrir una disminución del rendimiento durante la ejecución del programa gracias a las optimizaciones del compilador.

Prueba tu código con JUnit

La integración directa de GWT con JUnit permite efectuar la comprobación por unidad tanto en un depurador como en un navegador, e incluso comprobar por unidad las llamadas a procedimientos remotos (RPC) asíncronas. Más información

Extensión o contribución con el software libre Google Web Toolkit

Todo el código de GWT está disponible bajo la licencia de Apache 2.0. Si deseas contribuir, consulta Mejorar GWT.

Pasos siguientes

¿Estás listo para empezar? Si deseas consultar el tutorial y la guía de instalación paso a paso, lee la Guía de introducción. Posteriormente, continúa con el tutorial más detallado de GWT, que te permitirá conocer las funciones fundamentales de Google Web Toolkit.