Cuando nos piden desarrollar una aplicación RIA, a muchos lo primero que se les viene a la mente es Flex.  Cuando uno tiene el cuidado de preguntar bien las limitaciones del sistema (requerimientos no funcionles) a veces nos escontramos con usuarios que pretenden que las aplicaciones no dependan que las máquinas del cliente tengan instaladas alguna versión determinada de algún producto.

La segunda opción de muchos puede ser GWT, y para muchos, debido a su historia, esto sería aventurarse en un framework que es conocido aunque no tiene la maduración de otros ni es estandar.

Entonces finalmente, por una u otra causa, nos encontramos con JSF, que a estas alturas es mucho mas fácil que hace un tiempo si utilizamos Facelets y si nos inclinamos por Spring Faces.

Con JSF también podríamos utilizar -debido a ser estandar- los componentes de RichFaces, MyFaces, IceFaces o cualquier otro, sea el caso de pagos o no. Y ahora que pasa si necesitamos además hacer alguna funcionalidad que no está implementada en algún componente?

Primero intentemos por todos los medios no crear componentes nuevos, ya que luego habrá que mantenerlos y hacerlos avanzar con las diferentes versiones de los componentes, los que nos quitará el foco en nuestro negocio. Luego, tomar como opción una poderosa librería que se llama JQuery, que es una poderosa librería de JavaScript.

Además, como toda buena librería, esta ya cuenta con un conjunto de plugins que extienden y facilitan aun más el uso de JQuery. Pueden encontrar un listado de los 10 plugins más populares.

JQuery es una librería JavaScript rápida y concisa, que simplifica la tediosa tarea de recorrer documentos HTML (DOM), manejar eventos, ejecutar animaciones y agregar interacciones con AJAX.

Para utilizar JQuery, solo necesitamos descargar la librería y en cada página que necesitemos utilizarla, simplemente definir:

<script type="text/javascript" src="jquery.js"></script> 

De las principales ventajas de JQuery, además de ahorrarnos la escritura de bastante código (principalmente útil para los que no somos muy expertos en Javascript), es que nos permite manipular la página apenas se haya construido el árbol DOM de esta, en comparación con las funciones de Javascript, las cuales esperan a que se carguen todos los elementos de la página (incluyendo todas las imágenes).

Algunas de las principales ventajas que nos aporta esta librería son:

  • Nos ahorra muchas líneas de código.
  • Nos hace transparente el soporte de nuestra aplicación para los principales navegadores web.
  • Nos provee de un mecanismo para la captura de eventos.
  • Provee un conjunto de funciones para animar el contenido de la página en forma muy sencilla.
  • Integra funcionalidades para trabajar con AJAX.
  • Permite tener acceso a los selectores CSS de los elementos contenidos dentro del árbol DOM.
  • Permite manipular los atributos de los elementos de nuestra página HTML

Los que deseen ver las funcionalidades de JQuery pueden seguir este link.

Si les interesa el tema de JQuery, pueden leer el libro "Learning Jquery - Better Interaction Design And Web Development With Simple Javascript Techniques".

Para los que se quieran descargar la librería pueden hacerlo desde acá.

Para los que quieran aprender JavaScript, pueden pasar por aquí para descargar un libro gratuito.

 

Inspiración.

"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas"

Bernard Shaw