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

Tutorial JSF – Tercera entrega

Pues nada, para quienes están siguiendo éste tutorial sencillo sobre JSF, aquí les traigo la tercera entrega.

En ésta entrega podrán ver cómo agregar ciertas características a los elementos que se agregaron la semana pasada (a los inputText). Además de agregar otros elementos como: inputTextArea, selectOneRadio, selectOneMenu).

Espero que sea de su ayuda, y les dejo el link

Working With Form Tags in the JSF Framework

Tutoria JSF, segunda entrega

En ésta segunda entrega se empieza con la construcción de la aplicación, para lo cual se crean varias páginas Web dinámicas , un backing bean y se realiza la validación de los datos ingresados.

Entre las validaciones, y algunas tareas adicionales, que se realizan pueden encontrar:

  • Campos requeridos
  • Convertidores
  • Creación de mensajes de error en un archivo de properties.
  • Creación de validador personalizado para verificar direcciones de correo electrónico.

Les dejo el link para que lo revisen. Validating and Converting User Input With the JSF Framework

Saludos

Introducción a JSF un tutorial con entregas progresivas

Según he leído en la página de NetBeans, se publicará una serie de documentos en donde se demostrará el uso básico de JSF para constriuir aplicaciones Web utilizando NetBeans. En ésta serie de tutoriales se ceará una aplicación denominado jAstrologer, que toma el nombre del usuario y su fecha de nacimiento y devuelve información como signo del zodiaco, la piedra preciosa que te corresponde según tú fecha de nacimiento y el horoscopo.

Aquí la URL: Introduction to the JavaServer Faces Framework

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.

Ajax

Ya hace algún tiempo se vaticino la llegada de la aplicaciones Web orientadas hacia la experiencia rica del usuario. Lo que significa:

  • Asemejar la apariencia de las aplicaciones Web con la apariencia de las aplicaciones de escritorio.
  • Respuesta rápida e intuitiva
  • Respuesta inmediata a los estímulos del usuario
  • Que las cosas pasen naturalmente, sin necesidad de que el usuario solicite hacer lo que es obvio.

Una gran cantidad de la aplicaciones que usamos sobre la Internet, son aplicaciones Web convencionales; que una aplicación Web, sea convencional significa que la interacción de usuario sigue la secuencia: clic, esperar, refrescar -hacer clic en petición de una acción, esperar, y recibir una nueva página con los resultados de la acción solicitada-. Esta secuencia es lenta y el tiempo de respuesta esta sujeto a variables como la velocidad de conexión, la capacidad del equipo servidor, diseño de navegabilidad de la aplicación, etc. Ejemplos de este tipo de aplicaciones son: El Entorno Virtual de Aprendizaje de la UTPL y la UOC, de los cuales soy usuario; El cliente Web de correo de la UTPL; DSpace; La versión antigua del cliente Web de correo de hotmail que aún se usa ampliamente en el mundo; La versión alternativa que google presenta cuando el navegador no soporta AJAX; El Entorno Virtual de Aprendizaje Compartido EQaula. Seguramente ustedes conocen algunos más.

En contraste, las tecnologías para aplicaciones que proveen interacción rica al usuario emergen como solución a los problemas derivados de las aplicaciones Web convencionales. Ejemplos de estas tecnologías son: Java Applets, Macromedia Flash, Java WebStart, DHTML, AJAX. Algunos ejemplos de Aplicaciones Web orientadas hacia la experiencia rica del usuario son: El cliente de correo de Gmail, WordPress, Blogspot, Yahoo Maps, y otras más que hoy mismo usamos con frecuencia.

AJAX permite ofrecer una experiencia rica de uso de aplicaciones gracias a que minimiza el retardo en la respuesta de la aplicación a través del reemplazo de la secuencia clic, esperar, refrescar por actualizaciones parciales de la pantalla. Esto significa que únicamente los elementos de la pantalla que contienen nueva información son refrescados y no todos como sucede en las aplicaciones Web convencionales. Otra diferencia sustancial es que, AJAX, delega el manejo de la interface de usuario al cliente y el servidor se encarga de proveer los datos. En las aplicaciones Web convencionales, el servidor se encarga de proveer la interface de usuario y los datos al mismo tiempo. Esta separación de los datos y la interface del usuario, permite que el usuario siga usando la aplicación mientras que los datos son solicitados y refrescados internamente por la aplicación.

Este conjunto de características dan al usuario la sensación de estar trabajando sobre una aplicación de escritorio sobre la Internet. Para que se haga una idea de esto imagine en el Entorno Virtual: hacer clic sobre su nombre, que se habilite el modo de edición, agregar una tilde a su nombre o corregir cualquier error ortográfico, presionar la tecla enter o hacer clic fuera y sin más su nombre ya esta actualizado; al mismo tiempo que en la lista de materias se actualice la información de los mensajes sin leer o a parezca una etiqueta amarilla que indique que en ese momento esta conectado el profesor.

Seguramente muchos de nosotros somos usuarios de aplicaciones basadas en AJAX, a lo mejor no lo hemos notado o no le hemos dato importancia. Lo cierto es que hoy en día “la red es la computadora” y la plataforma sobre la cual corre gran parte de nuestra información tarde o temprano, sino lo es ya, sera la Web.