jueves, mayo 25, 2006

Había una vez AJAX

El desarrollo WEB que comenzó hace varios años era puramente estático con paginas escritas en HTML que podían tener vínculos con otros documentos, una evolución de este modelo fue las paginas dinámicas que por medio de procesos generaban el código HTML que se presentaba, estos procesos de los denominaba programas CGI y permitían que se acceda a bases de datos y que los contenidos sean mostrados en paginas HTML.

Ese modelo sirvió bastante tiempo pero tenia falencias como el tiempo de ejecución o la cantidad de pedidos que podían ser servidos en un momento determinado, debido a que los programas CGI se ejecutaban en un proceso distinto por cada request que atendían.

Como consecuencia de esto aparecieron otras soluciones que básicamente solventaban los problemas de escalabilidad del modelo CGI. Surgieron servidores que podían correr estos procesos de una manera mucho mas rápida y sin el overhead de la creación de procesos, en esa época Netscape con su servidor WEB tenia un conjunto de librerías llamadas NSAPI y Microsoft con su IIS tenia las ISAPI.

Luego apareció Java que de a poco iba ganando espacio en la WEB y surge un modelo que conceptualmente se parecía a los Netscape y Microsoft, los Servlets, pero con algunas cosas que los hicieron particularmente atractivos para los desarrolladores, y era la simplicidad con la que se podía crearlos, en contrapartida con los modelos de Netscape y de Microsoft.

Pero resulta que el modelo del request y del response para refrescar los datos de la pantalla no había presentado una evolución en todo este tiempo, esto fue así hasta que Google comienza a desplegar aplicaciones como Gmail donde uno podía ver como una aplicación WEB se comportaba casi como una aplicación del tipo Desktop, esto despertó la curiosidad de muchos y es donde se comenzó a hablar de AJAX.

Hoy en día ya nadie se sorprende de ver una aplicación donde las paginas cambian su contenido sin que se realicen refrescos de la misma, es mas hoy es algo que resulta ya molesto tener que refrescar las paginas para cargar la información de un combo.

Pero como con todas las tecnologías que emergen en un principio son algo complicadas y muchas veces caemos en tareas repetitivas o en modelos donde las cosas no son manejables o reutilizables.

La batalla de los entornos de desarrollo como Java y .Net puede llegar a tornarse desiciva si alguno de estos logra abstraer todo esta complejidad y ocultarla al desarrollador.

Microsoft ya esta trabajando en un framework llamado ATLAS que proveerá componentes para ASP .Net que trabajaran con AJAX.

Para Java hay también bastantes frameworks de presentación que están dando soporte para AJAX, y además existe un framework para utilizar de GOOGLE, estuve dándole una mirada a los ejemplos y me pareció excelente el enfoque que dan para poder abstraer la complejidad de desarrollar con esta tecnología , el framework se llama GWT (Google Widget Toolkit)

Que será el próximo paso en la evolución de la WEB ? La WEB Semántica? Nuevos protocolos con estado?

No hay comentarios.: