SmartGWT

Buscando algo de información sobre GWT, me he encontrado con el proyecto SmartGWT, que es otro extensión para Google Web Toolkit. Lo que más me llamó la atención es que al parecer uno de los desarrolloradores de GWT-Ext está trabajando en éste SmartGWT y lo más destacable es que tiene soporte para DataBiding y Data Integration. Además de poseer otras características y herramientas que facilitan la integración con base de datos. Aquí la página con los demos.

Viene en 2 versiones (típico) una versión libre y otra versión empresarial de pago, ésta última tiene algunas herramientas adicionales.

Ahora me pregunto, con la versión 1.5 del GWT ya se soporta JPA ¿es necesario éste tipo de aplicaciones? En algún lugar leí que aún se tiene problemas al tratar de enviar los objetos anotados con Entity, pero nunca lo he probado. Ahora que hablo de GWT, GWT-Ext y base de datos les comparto un link en donde pueden encontrar 3 vídeos para saber cómo trabajar con GWT más Eclipse más GWT-Ext más Base de datos. En verdad se puede construir en cualquier otro entorno sin problemas. Link

GWT y Base de Datos

Dentro de una de las materias que llevo en la UTPL, estamos analizando GWT como alternativa para el desarrollo de aplicaciones AJAX. Dentro de éste marco preparé unas clases en donde se muestra cómo se puede interactuar con un servidor Web y a su vez con su servidor de base de datos.

Se mostró el uso de GWT-RPC y servlets, la primera de las opciones tal vez la más compleja (por el manejo de interfaces y clases) mientras que la segunda con el problema de comunicar los resultados (éxito o error) con el trabajo de la base de datos. Obviamente ambos superables.

Se utilizó como base de datos Derby DB que viene configurada para el trabajo con NetBeans y que por razones didácticos es más que suficiente.

Para la GUI, la base es GWT, pero extendida con las características GWT-Ext, configuradas como señalé en un post anterior. Personalmente creo que GWT-Ext colabora enormemente en el desarrollo rápido de éste tipo de aplicaciones.

Les comparto los links en donde pueden descargar el proyecto completo y las librerías que se necesitan así como también algunos archivos de configuración (gwtext.jar, derbyclient.jar), el script e la base de datos.

Proyecto.

Archivo adicionales.

GWT-Ext con NetBeans – Configuración

Es conocido que dentro del mundo de NetBeans existe un plugin que nos permite crear aplicaciones GWT y también conocemos la existencia de GWT-Ext que nos aporta con widgets adicionales a los que trae GWT, ahora lo que creo que no es tan conocido es como trabajar con GWT-Ext y NetBeans, esto lo digo porque tuve un par de problemas que me retrasaron algunos minutos, les comparto mi experiencia.

Partiendo que tenemos instalado GWT y configurado NetBeans con su plugin y un EntryPoint, debemos hacer lo siguiente para configurar GWT-Ext en nuestro proyecto:

  1. Agregamos el archivo gwtext.jar a nuestro proyecto. Clic derecho sobre Libraries, luego Add JAR/Folder…
  2. Ahora debemos hacer un Clean&Build de nuestro proyecto. Clic derecho sobre el nombre del proyecto y buscamos dicha opción. Esto lo debemos hacer ya que es necesario copiar algunos archivos (hojas de estilo y código JavaScript) dentro de la carpeta js que se encuentra en <Tu_Proyecto>/build/web/<nombr_paquete>/js/ext. Se debe crear la carpeta ext
  3. Copiar los siguientes archivos y directorios, los mismos que se son parte de la descarga de ext2.0.2 (como lo señala GWT-Ext, cuando lo descargamos). Se debe copiar lo siguiente: ext-all.js y las carpetas adapter y resources a la carpeta que se menciona en el punto 2.
  4. Modificar el archivo xxx.gwt.xml agregando las siguientes líneas:

<inherits name=»com.gwtext.GwtExt»/>

<entry-point class=»ec.loxa.client.prbEntryPoint»/> OJO: esto cambia solo lo ubique para mostrar el orden, aunque no estoy seguro de que tenga alguna implicación.

<stylesheet src=»js/ext/resources/css/ext-all.css» />
<script src=»js/ext/adapter/ext/ext-base.js» />
<script src=»js/ext/ext-all.js» />

Y listo tenemos lo necesario para empezar a trabajar, ojo si le das un Clean&Build o un Build a tú proyecto debes volver a repetir los pasos 2 y 3.

Espero que sea de su ayuda.