Ext JS - Introducción

0 comentarios

Después de haber cumplido con mi deber cívico acercándome a votar en estas elecciones presidenciales 2011, me relajaré un poco posteando acerca de Ext JS.

En este post hablaré de forma general acerca de Ext JS, en un siguiente post publicaré mini tutoriales de como usar Ext JS en aplicaciones web.

Ext JS
Es un framework JavaScript para construir aplicaciones RIA utilizando AJAX, DHTML, CSS y DOM. Extiende de Prototype, JQuery y YUI.

Ejemplo de una grilla de datos desarrollada en Ext JS:

La imagen anterior muestra una grilla creada con Ext JS, está construida netamente con Javascript y CSS. No es construida en el servidor, el server solo se encarga de enviar al cliente la data en formato JSON o XML, y el cliente se encarga de leer estos datos y cargarlos en la grilla. De esta manera la lógica del servidor puede ser implementada con PHP, Servlets o JSP, ASP u otras tecnologías del lado del servidor.

Ventajas:
* Permite crear aplicaciones complejas utilizando componentes predefinidos así como un manejador de layouts similar al que provee Java Swing, esto provee una experiencia consistente sobre cualquier navegador, evitando el tedioso problema de validar que el código escrito funcione bien en cada uno (IE , Firefox, Opera, Safari, etc.).
* No necesita que la máquina cliente tenga instalado un plugin externo, Ya que es código JavaScript.
* Cuenta con un Un API fácil de usar. Los creadores de Ext JS han diseñado un modelo de componentes extensibles por herencia. Cabe recalcar que JavaScript no es un lenguaje orientado a objetos sino que sigue el paradigma de programación basada en prototipos y la herencia que hace es aplicando prototipado.

Desventajas:
* En versiones anteriores a la 3, la falta de un diseñador gráfico limitaba la producción fácil y rápida de las interfaces(aunque para quienes nos apasiona programar no era un limitante, por suerte tenía un API fácil de usar). A partir de la versión 3 ya existe Ext Designer

* Ext JS al ser una librería Javascript independiente de cualquier tecnología del lado del servidor no existe una forma por defecto de realizar binding entre los componentes visuales con el respectivo modelo; como por ejemplo querer que los datos del formulario sean cargados automáticamente en un bean, pero afortunadamente con frameworks como Spring y un poco de Código JavaScript se puede lograr esto.

Fuentes de aprendizaje:
* Video tutoriales de Ext JS, útiles para quienes se inician en Ext JS:
http://www.quizzpot.com/
* + Video tutoriales:
http://www.extjs.tv/
* Libro "Ext JS In Action":
http://www.manning.com/garcia/
* Site Oficial de Ext JS:
http://www.sencha.com/
* Grupo ExtJS Peru User Group:
http://groups.google.com/group/extjs-peru-user-group

Otra información:
Este framework es de propiedad de la empresa Sencha que además cuenta con otros frameworks como
* "Sencha Touch" para hacer aplicaciones web con componentes que pueden ser renderizados en dispositivos Iphone y Android.
* "Ext GWT" para los amantes de Java y GWT (Google Web Toolkit). Es una extensión del GWT que sirve para crear interfaces tales como se muestra en Ext JS.