lunes, 30 de enero de 2012

Instalando Eclipse y GWT

¿Qué es Eclipse?

Eclipse es una comunidad de código abierto, cuyos proyectos se centran en la construcción de una plataforma de desarrollo abierta compuesta por marcos (frameworks) extensibles, herramientas y plataformas de ejecución para el desarrollo, la puesta en producción y la gestión de software a través del todo el ciclo de vida del software. La Fundación Eclipse es una organización sin ánimo de lucro, que alberga los “Proyectos Eclipse” y ayuda a cultivar tanto una comunidad de código abierto y un ecosistema de productos y servicios complementarios.

Si desea saber más acerca de Eclipse y sus proyectos, vaya a la página:

http://www.eclipse.org/org/


Descargue e Instale Eclipse


Para nuestras pruebas descargaremos la versión Helios de Eclipse. Vaya a la página de descargas de Eclipse:


Seleccione el sistema operativo sobre el cual esta trabajando:


Seleccione la opción: Eclipse IDE for Java EE Developers, 206 MB.



Seleccione la versión de su sistema operativo. En este caso, instalaremos Eclipse Helios en Windows 7 Professional (64 bits).

Sea paciente, dependiendo de la velocidad de su conexión a Internet esta operación tardará algunos minutos.

Cree un directorio y copie allí el paquete descargado de Eclipse:


Este es un archivo empaquetado, generado con WinZip. Debe extraer todos los archivos contenidos en él dentro del directorio que usted acaba de crear.

Click en el botón derecho del mouse sobre el archivo y seleccione “Extract All


Click en Extract

Eclipse se instalará en el subdirectorio C:\Eclipse-Helios-64\Eclipse. Una vez que haya terminado la extracción de todos los archivos, la instalación se verá de la siguiente manera:


Ejecute la aplicación eclipse dando doble click sobre este archivo.

En primer lugar, Eclipse le pedirá que defina un subdirectorio en donde va a alojar sus proyectos.

En este caso elegiremos C:\Eclipse-Helios-64\workspace:


Click en OK.

Eclipse presentará una página de bienvenida desde la cual podrá explorar las bondades de esta magnífica herramienta de desarrollo de software. Después podrá cerrar esta página para entrar en Eclipse.

Así lucirá su área de trabajo:


Actualice Eclipse

Ahora revise si hay actualizaciones para esta versión de Eclipse.
Seleccione las opciones: HelpàCheck for Updates

Eclipse buscará y traerá las últimas actualizaciones para su versión instalada:


Click en Next >

Revise y confirme las actualizaciones:

Click en Next >

Acepte la licencia:


Click en Finish para terminar la actualización.

Este proceso puede tardar algunos minutos.

Al finalizar tendrá que reiniciar Eclipse para que la actualización tome efecto:


Click en Restart Now.


Instalando el Plugin de GWT


Una vez completada la instalación y actualización de Eclipse Helios en su computador, proceda a descargar el plugin de GWT para su versión de Eclipse.

Entre a la página de descargas de GWT:


Copie el URL correspondiente a la versión de Eclipse:


En Eclipse seleccione HelpàInstall New Software

Copie el URL en el campo Work with.


Click en Add…

Entre un nombre para definir este plug-in:


Eclipse mostrará los paquetes disponibles para GWT:


Click en Select All para seleccionarlos todos.

Click en Next >

Espere mientras se descargan y verifican los paquetes.  Eclipse mostrará los ítems a ser instalados:


Click en Next >

Acepte los términos de la licencia:

Click en Finish

Esto puede tardar algunos minutos.

Es posible que Windows lo alerte por la instalación de algún componente en especial. Permita que estos componentes se instalen, pues vienen de una fuente bien conocida.

Al finalizar, Eclipse le pedirá que se reinicie:

Click en Restart Now

Reinicie Eclipse y estará listo para escribir su primera aplicación web utilizando GWT.

Para confirmar que el plugin de GWT ha sido instalado, seleccione las siguientes opciones:

Seleccione HelpàAbout Eclipse


Click en Installation Details.

Click en el tab Plug-ins y en la columna Plug-in Name busque los nombres de Google y GWT:


Observe la versión del SDK instalado: 2.4.0

Su Primer Proyecto con GWT

Intente ahora crear un proyecto utilizando GWT.

Seleccione: FileàNewàOther

Abra la carpeta Google y seleccione el wizard (asistente) Web Application Project


Click en Next >

Esta opción ejecutará un asistente que nos llevará paso a paso para crear el framework de su primer proyecto.

Project Name (Nombre del proyecto)


Entre el nombre su proyecto. En este caso hemos dado el nombre de: ejemplo1


El wizard (asistente) nos da una alerta de que debemos configurar el SDK de Google App Engine. Ya lo revisaremos más adelante.

Package (Paquete)

Entre un nombre para crear el paquete de su primer proyecto. Recuerde que las aplicaciones Java normalmente se distribuyen en paquetes dentro de archivos .jar (Java Archive). Aquí hemos dado el nombre: com.gwt.ejemplo1.

Location (Ubicación)

El asistente crea por defecto un subdirectorio con el mismo nombre del proyecto dentro del workspace definido durante la instalación de Eclipse. En este caso: C:\Eclipse-Helios-64\workspace\ejemplo1.

Google SDKs


La opción Use Google Web Toolkit ha sido seleccionada por defecto al igual que la última versión de GWT. Deje estas mismas opciones. En caso de que haya instalado una nueva versión de GWT o si requiera utilizar versiones anteriores, seleccione la opción Use specific SDK y luego la versión requerida.

Puede también confirmar que la versión que va a utilizar es la 2.4.0. Click en Configure SDKs…:


Aquí podrá confirmar la versión con la cual va a generar su nuevo proyecto.

Click en OK.

Este proyecto va a ser muy sencillo y por lo tanto no vamos a necesitar de diálogos con aplicaciones en el servidor, por lo tanto no elegiremos la opción Use Google App Engine. Al no elegirla, la alerta que obtuvimos al comienzo desaparecerá. Además, más adelante podremos utilizar cualquier servidor web y un manejador de base de datos distinto al proporcionado por Google App Engine sin tener que sortear conflictos de librerías.

Google Apps Marketplace

No utilizaremos esta opción por ahora.

Sample Code

Seleccione esta opción. GWT nos proveerá de unas líneas de código de ejemplo que nos permitirán explicar algunos de los componentes generados por el asistente. Además, seleccionando esta opción hace que GWT cree automáticamente una estructura cliente/servidor que facilitará la labor de incluir uno por uno los componentes requeridos para que aplicación funcione correctamente.

Click en Finish.

Espere unos segundos mientras el asistente crea los archivos requeridos.

Expanda el proyecto ejemplo1 para ver los componentes generados:


Con esta lista de componentes terminamos esta sesión.

En el próximo blog Ejecutando una Aplicación GWT analizaremos estos componentes y comenzaremos a modificar el código obtenido para personalizar nuestro primer proyecto.

domingo, 29 de enero de 2012

Defina su Proyecto y Equipo de Trabajo

Defina su Proyecto, Alcance y Fecha de Culminación

Si ha seleccionado GWT como su herramienta principal para generar sus páginas web e intercambiar datos con un servidor, es conveniente que defina detalladamente el proyecto que va a emprender.

Podría leer varios libros de GWT, la documentación ofrecida por Google y revisar múltiples aplicaciones de ejemplo, pero es factible que llegado el momento en el que deba comenzar a escribir sus aplicaciones en GWT haya olvidado lo que aprendió al comienzo. Es importante que antes de escribir su primera línea de código sepa muy bien qué es lo que desea como producto final para que concentre su esfuerzo de aprendizaje en lograr su objetivo.

En primer lugar, defina su proyecto. GWT está orientado para desarrollar aplicaciones del lado del cliente. Sin embargo, GWT ofrece alternativas para que escriba cortas aplicaciones en el servidor y así mismo le ofrece los mecanismos para que su aplicación cliente mantenga un diálogo de intercambio de datos con las aplicaciones del servidor.

Defina el proyecto con un propósito específico, por ejemplo una aplicación que permita administrar un sistema complejo existente, que provea opciones para crear usuarios y perfiles, que suministre reportes o que ofrezca consultas relativas a la actividad del sistema en general.

Puede definir su propia red social, un servicio de consulta de música, videos, películas, series de televisión, libros, o para crear álbumes de fotografías, o compartir recetas de cocina, etc. Su imaginación no tendrá límite. Mucho mejor si usted ha sido contratado para realizar un proyecto por el cual recibirá un pago.
Una vez definido su proyecto, establezca su alcance inicial y una fecha tentativa para terminarlo. Si no establece una fecha final, su proyecto se convertirá en una historia sin final y nunca cumplirá el objetivo. Es cuestión de pura disciplina. Establezca un cronograma con tiempos justos para que pueda dar cumplimiento a cada actividad.

Siga una metodología. Revise sus apuntes en administración de proyectos, tome de allí lo más relevante para que lo aplique a lo largo del desarrollo.

Revise otras metodologías de desarrollo de software y administración de proyectos. Por ejemplo, Agile o Scrum.

Inicialmente en este blog no se define un proyecto en sí, es posible que lo haga mas adelante pero por ahora el propósito de este blog es proveer algunas recomendaciones para el uso de GWT.

Defina Recursos

Revise cuidadosamente los recursos con los que cuenta y  los que posiblemente necesitará durante toda su implementación. Si los define desde un comienzo evitará demoras en la ejecución del proyecto mas adelante.
Cuántos computadores posee, cuáles utilizará como servidores, cuáles serán utilizados para desarrollo y cuáles para pruebas. Estos interrogantes son su punto de partida.

Defina el software adicional que va a utilizar. Las aplicaciones cliente son exigentes en cuanto a componentes visuales se refiere y requieren que sean vistosas, que tengan logos bien definidos, claros, con una combinación de colores coherente para que le den personalidad a su aplicación. De manera que necesitará otras herramientas de software para diseñar componentes gráficos como el logo, iconos para las opciones, imágenes para representar productos, etc. Si no cuenta con uno de estos productos, en muchas ocasiones es preferible que contemple la posibilidad de contratar a un diseñador gráfico. Es preferible que este tipo de arte sea realizado por alguien más con suficiente experiencia y mucha creatividad.

Si ya tiene experiencia utilizando algún servidor web (Tomcat, JBoss, GlassFish, WebSphere, Weblogic, etc.) no tendrá ningún problema en instalar los Servlets generados con GWT.

Del mismo modo, su experiencia en base de datos será fundamental para definir un modelo relacional consistente y confiable.

Defina una hora del día para estudiar, realizar una prueba con algún componente y para que lo implemente en su proyecto.

Defina un equipo de trabajo

El producto de su trabajo se verá beneficiado si  su proyecto es desarrollado por un equipo de colaboradores. La distribución de responsabilidades de acuerdo con alguna especialidad es fundamental para que el proyecto avance conforme al cronograma establecido.

Si no cuenta con un equipo de trabajo y usted es un desarrollador ‘todero’ tendrá que enfrentar muchos desafíos en cada nivel de sus aplicaciones. Se verá obligado a ser mucho más organizado, documentar cada módulo y cada etapa del cronograma. Su memoria no dará a basto para recordar cada detalle de los miles de líneas de código que tendrá que escribir. Así mismo tendrá que documentar sus programas fuentes, escriba comentarios que expliquen las rutinas que esta escribiendo. Estos facilitaran el entendimiento de las rutinas aun meses después de haber sido escritos.

Defina Estándares

Es muy importante que también defina varios estándares antes de comenzar a escribir sus aplicaciones.
Por la cantidad de componentes y clases a las que se verá enfrentado, es recomendable que siga un estándar para nombrar clases, métodos y variables. De ese modo facilitará la lectura y comprensión de su propio código tiempo después de haber sido escrito.

Puede basarse en la codificación húngara (http://es.wikipedia.org/wiki/Notaci%C3%B3n_h%C3%BAngara). Por ejemplo, Defina su proyecto con un par de letras. Si su proyecto es de administración de usuarios, puede utilizar las letras au_ como prefijo para definir sus clases e interfaces.

au_loginView.java: Nombre de la clase con los componentes gráficos de su página de login.
au_newUserView: Nombre de la clase con los componentes gráficos de la página que desplegará la forma para entrar los datos de un nuevo usuario.

Los siguientes son ejemplos de algunos prefijos para la definición de variables y clases:

Prefijo
Tipo
 Ejemplo
ft
FlexTable
ftLoginBox
fp
FormPanel
fpLoginForm
lbl
Label
lblUser
txt
Text
txtUser
pw
PasswordTextBox
pwPasswd
btn
Buttone
btnSav
lb
ListBox
lbCountries
b
boolen
bFlag
s
String
sLanguage
i
int
iIndex
l
long
lCode


Defina un Repositorio y un sistema de contingencia

Si terminó la versión 1.0 de su proyecto, guarde este código antes de comenzar a realizar correcciones para liberar la versión 1.1. Es importante mantener el código original de la versión que va liberando. De ese modo es posible volver un paso atrás cuando sea necesario.

Una forma sencilla de hacerlo es crear un directorio en un servidor por cada versión liberada, pero esto no le garantiza que alguien más pueda alterar el código original.  Si ya ha liberado la versión 1.7 y desea revisar la versión 1.5, nadie la garantiza que la versión 1.5 sea la versión deseada.
Este problema se resuelve utilizando un producto de repositorio de código fuente y control de versiones. Tortoise puede ser una opción.

Defina Documentación

Lleve un registro de su trabajo diario. Si, ya sé que no es nada grato escribir comentarios y llevar un documento con anotaciones acerca del progreso de su desarrollo. Pero es lo más aconsejable, mucho más cuando usted trabaja solo. Los documentos escritos serán su propia memoria.

Es aconsejable que mantenga un documento de ‘consejos y trucos’ (tips and tricks). Escriba y copie allí todas aquellas rutinas, parámetros de configuración, enlaces interesantes, ejemplos, etc., que le hayan ayudado a resolver complejas situaciones en su proyecto.

sábado, 21 de enero de 2012

Porqué seleccionar GWT?

Antecedentes

En el año 2007 emprendí la tarea de desarrollar un sitio web durante mi tiempo libre. Era un reto personal y profesional, y hasta ese momento no tenía claro cuál sería el tema central del proyecto, tan sólo quería aprender un poco más acerca de cómo construir aplicaciones web utilizando la arquitectura tradicional Cliente/Servidor, con un Cliente que operara en forma interactiva y teniendo en el lado del servidor dos niveles independientes pero integrados: middleware y base de datos.

Después de casi veinte años de experiencia profesional en tecnología informática, me di cuenta que tenía las bases para emprender mi proyecto pero no eran suficientes para desarrollar un sitio web completo. Había trabajado con varios lenguajes de programación en diferentes sistemas operacionales, tenía experiencia en middleware, un conocimiento básico de servidores de aplicaciones web de diversos distribuidores y había trabajado en bases de datos con las que había batallado por largas temporadas escribiendo queries robustos en sentencias SQL, pero nunca había tenido la oportunidad de hacer una simple página web y mucho menos sabía cómo hacerla interactiva. Comencé por aprender HTML. Primero escribiendo el código en un simple editor como notepad, luego utilizando editores como NetBeans, Eclipse, Microsoft FrontPage, hasta llegar a Dreamwaver. La jornada fue larga y agotadora. En cada etapa del desarrollo tuve que aprender otras tecnologías para hacer las páginas un poco más atractivas. JavaScript fue uno de mis grandes retos para aprender a manipular los componentes de la página, enviar datos al servidor y recibir, transformar y desplegar las respuestas. Tuve que adentrarme en CSS para dar formato a ciertos componentes de la página y, en esto último, Dreamweaver fue un gran asistente porque a través de una interface gráfica podía agregar componentes y realizar cambios y la herramienta generaba el código por mí. Más adelante evalué algunas librerías de Javascript como JQuery, YUI y Dojo. Opté por Dojo por su sencillez pero encontré algunos bugs que le restaron sueño a mis noches. Llegué también a utilizar Flash para adicionarle a las páginas componentes de animación, como aquel famoso carrusel, que sirvió para darle un poco más de vida a la página. Poner todo junto a funcionar requirió de gran esfuerzo y dedicación. De otro lado, seleccioné Tomcat como el servidor de mis aplicaciones web y allí instalé varios Servlets escritos en Java, que a su vez integraban un paquete también escrito en Java que accedía a la base de datos en MySQL 5.1. Con todo esto construí una plataforma que me permitió mantener un sitio web divertido.

Para escoger el tema del sitio web pensé en compartir artículos relacionados con literatura, o experiencias de viajes, o experiencias de actividades deportivas, o trucos de programación, o video juegos. Al final recordé mi afición por los comics en mis años de adolescente y decidí crear uno propio. Así surgió www.usertoons.com, un sitio web en el cual publicaba una tira cómica semanal. Sus personajes eran los miembros de una familia tradicional, padre, madre, dos hijos adolescentes y una abuela, a los que poco a poco sus hábitos del diario vivir iban cambiando por el influjo de la tecnología. Una vez la plataforma estuvo instalada en un hosting, el reto pasó a ser otro: crear una historia semanal que debía encajarse en tres cuadros. Una sobrina de mi esposa dibujaba cada escena y mi esposa les adicionaba las burbujas con los diálogos en cada cuadro. Pare ello utilizaban productos de Adobe. Es importante mencionar que es muy importante el trabajo en equipo por el grado de especialidad que puede tener cada colaborador, el esfuerzo se distribuye y el proceso de desarrollo se agiliza un montón.

Después de casi dos años de trabajo, con gran tristeza tuve que cerrar el sitio web porque cambié de empleo, no me quedaba mucho tiempo libre para crear las historias, mantener el sitio web y rastrear los pocos hits diarios que recibía el sitio. Pese a los esfuerzos de promoción en múltiples medios, al análisis de resultados de la información obtenida con Google Analytics y de presentar la tira cómica tanto en Inglés como en Español, el sitio web no logró la popularidad esperada y por consiguiente no generó ningún beneficio económico. De todos modos dejó una gran experiencia.

Sin embargo tenía en mente continuar con el proyecto, pero de otro modo. Decidí construir otro sitio web cuyo tema aun mantengo en la reserva para proteger la idea y porque todavía esta en proceso de diseño y desarrollo.

Esta vez me puse en la búsqueda de un producto que me ayudara a simplificar mi trabajo inicial sin que tuviera que incluir tantos componentes disímiles del lado del cliente, pero que eventualmente me diera la oportunidad de hacerlo, en otras palabras, que fuera abierto para integrarse con otras tecnologías. Necesitaba seleccionar una herramienta que me permitiera elaborar las páginas de manera ágil, sin tener que recurrir a la investigación de tantas tecnologías cambiantes y de buscar la manera de integrarlas para obtener como resultado un producto estable que no generara errores durante su ejecución, especialmente cuando se utilizaran diferentes navegadores. Además, con el auge de los dispositivos móviles, la herramienta debería tener la facilidad de generar código que funcione sobre estos. No es de extrañar que el resultado de este proceso de selección haya sido Google Web Toolkit (GWT). He buscado información en Español sobre GWT pero en realidad no hay mucho en la web. De manera que mientras desarrollo mi proyecto secreto, a partir de este momento intentaré compartir mi experiencia utilizando GWT.

El servidor y la base de datos escogidos para mi segundo proyecto web continúan siendo los mismos: Tomcat y MySQL.

Criterios de Selección

Los criterios de selección de la herramienta de desarrollo de las páginas web fueron los siguientes:

· Costo
· Licencias
· Mínima curva de aprendizaje
· Simplicidad
· Estabilidad
· Soporte

Tal vez haya muchos más criterios de selección que aquí no he considerado, pero esta no ha sido una decisión corporativa, fue una decisión personal basada en mis propias motivaciones, expectativas y recursos, en especial, teniendo en cuenta la poca disponibilidad de tiempo libre.

Costo

Tener un presupuesto limitado para un proyecto de tecnología es un gran obstáculo. Software, hardware, libros, clases, conferencias, desplazamientos, litros de café, etc., son esenciales cuando se emprende un nuevo proyecto de desarrollo de software. Hay muchas herramientas gratis disponibles en Internet pero no todas ellas son confiables, especialmente porque no cuentan con un gran equipo de gurús detrás del producto para soportarlo. Por otra parte, si se compra un producto sin previa evaluación, esto puede convertirse en un gran fracaso desde el principio por la necesidad de invertir una enorme cantidad de tiempo en el aprendizaje de la herramienta y de su propio lenguaje de programación. Además, suele ocurrir que mientras se aprende la versión X del producto sale a la venta la versión Y por la que habrá que pagar por la actualización y, lo más inquietante, el código desarrollado hasta el momento habrá que ser ajustado a la nueva versión consumiendo más tiempo del esperado y retrasando la salida de su proyecto en producción.

Si usted tiene gran experiencia en Microsoft .NET o en productos Adobe puede optar por continuar trabajando en estas plataformas, son sencillas, poseen un gran número de asistentes que facilitan las tareas y hay documentación suficiente en la web para responder a sus preguntas. Si no desea adquirir un producto por el cual deba pagar por su licencia, puede acudir a las diferentes opciones gratis disponibles en internet. La lista es interminable, pero recuerde que es muy importante conseguir un producto que cuente con un gran equipo de trabajo que respalde su desarrollo y evolución. Si tiene la intención de cambiarse a una plataforma abierta, entonces este blog podrá ser de gran utilidad.

Licencias

La evolución de internet ha traído la facilidad para conseguir herramientas de desarrollo gratuitas. Simplemente se descarga del sitio web, se procede a instalar, se lee y acepta la licencia de uso, se ajustan algunos parámetros de instalación y listo, puede dar rienda suelta a su creatividad. Algunas veces es indispensable registrarse primero antes de proceder a descargar el producto. Así se consigue GWT, la licencia es gratuita y no tiene límites en el uso del producto.

Mínima curva de aprendizaje

Si ya tiene cierta experiencia en un lenguaje de programación, en este caso Java, no tendrá que preocuparse por aprender un nuevo lenguaje o script para desarrollar su proyecto. Al menos al comienzo, antes de adentrarse en un proceso de integración con otras tecnologías. Básicamente tendrá que aprender a conocer la disponibilidad de las clases, interfaces y métodos de GWT para utilizarlas a su antojo y darle vida a su idea. La mejor forma de utilizar GWT es a través de Eclipse, el ambiente integrado de desarrollo o IDE por su sigla en inglés (Integrated Development Environment), esta es la suite de programación por excelencia para quienes trabajamos con herramientas de desarrollo gratuitas. El plugin de GWT para Eclipse está disponible en Google y su instalación es un proceso sencillo. Eclipse está disponible para Windows, Linux y MAC, lo mismo sucede con el plugin de GWT. De manera que el ambiente de desarrollo se puede instalar en cualquiera de estas plataformas. Sin embargo, si usted prefiere trabajar con otro IDE no hay problema, cada distribuidor de IDE ha generado su propio plugin para albergar GWT.

El código de GWT está escrito en Java y todo lo que usted hará lo codificará en este lenguaje de programación. Una vez escrito el código, salve la copia, compile la aplicación, ejecútela y pruebe la página desde el navegador de su predilección. Por ser GWT un producto de Google, su aplicación lucirá mucho mejor en Google Chrome. Sin embargo, el gran mérito de GWT es que el producto resultante del proceso de compilación es un conjunto de funciones de JavaScript las cuales se generan de manera simultánea en varias versiones para cada uno de los distintos navegadores de Internet.

GWT Designer provee la facilidad de mostrar su diseño de la página en un ambiente GUI. No es de la calidad de Dreamweaver, pero le brinda una idea de cómo distribuir los widgets dentro de la página. Desde aquí también podrá crear documentos CSS, adicionar, modificar y visualizar en forma gráfica los efectos de cada propiedad.

Google provee un gran volumen de documentación de GWT. En Google Video hay muchas conferencias de GWT en sus distintas versiones. Desafortunadamente la gran mayoría de estos videos están en inglés, pero con un poco de esfuerzo podrá entender lo que los gurús del producto desean compartir con su audiencia. Una desventaja que he visto, es que la documentación no está muy ligada a la versión que actualmente se descarga de la página de GWT. Por eso algunas veces la documentación que se encuentra en una determinada consulta puede pertenecer a clases que ya están obsoletas (deprecated). Profundizando un poco más en la consulta, puede llegar a encontrar la documentación sobre la versión más actualizada o al menos de la versión con la que está desarrollando su proyecto.

En general, Java es todo lo que usted necesita saber para comenzar a desarrollar su proyecto. Desde luego tendrá que tener una idea general de cómo funciona una aplicación web, de la estructura de una página HTML, DOM, XML y CSS. A medida que vaya avanzando en el desarrollo de su proyecto, encontrará tal vez la necesidad de incluir otros productos o tecnologías.

Simplicidad

Si ya tiene experiencia desarrollando aplicaciones con Java en Eclipse, no le será difícil comprender como funciona GWT. Escribir el código en Java y compilarlo para obtener código Javascript que será ejecutado desde su browser es una tarea simple para probar su código. Si selecciona en Eclipse la opción Build Automatically, entonces no tendrá que compilar su aplicación cada vez que realice un cambio. Además dejará de lado la preocupación de tener que escribir un código diferente para cada navegador de Internet.

Estabilidad

Hasta el momento no he visto mayores contratiempos ejecutando el código generado con GWT. Actualmente la versión 2.4 ha corregido la gran mayoría de bugs reportados en versiones anteriores y las librerías de Widgets y de AJAX han madurado notablemente, y la comunicación entre Cliente y Servidor es confiable. Quizás encuentre algunos tropiezos durante la integración de su aplicación GWT con otros frameworks como Spring o Hibernate, o con productos de Adobe, o con otras librerías Javascript, pero estoy casi seguro que todas ellas tienen una solución, ya que hasta ahora la coexistencia ha sido satisfactoria. Desde Luego debo resaltar que GWT está orientado para proyectos del lado del cliente y ha ido evolucionando para que se integre a un servidor instalado en la nube de Google (se conoce en inglés como Google Cloud) en donde reside Google Application Engine (motor de aplicaciones Google).

Soporte

Google provee una comunidad a donde recurrir en caso de dudas, aclaraciones, recomendaciones o si ha avanzado en su investigación también puede colaborar con el mejoramiento del producto. Esta comunidad se denomina Google Web Toolkit developer community y aunque no he visto información en Español, es posible que atiendan sus requerimientos. De otro lado, el propósito de este blog es compartir información acerca del progreso que tengamos con el uso de esta gran herramienta.

Enlaces

A continuación, algunos enlaces (links) de interés:

Google Web Toolkit página principal

Documentación:

Communidad:

Grupo:

Autor de El Efecto Margarita