jueves, 4 de enero de 2007

Descubriendo AJAX

Hace un tiempo uno de mis compañeros de trabajo me invitó a crear una cuenta de correo en Gmail y gustoso acepté la invitación y empecé a usar la cuenta.

Al principio me pareció fantástico disponer de 2GB de almacenamiento, "Ya nunca tendré que borrar mensajes!" pensé, pero no me daba cuenta de lo que tenía entre manos. Al poco tiempo de usarlo me di cuenta de que no hacía falta darle al botón de refrescar para recibir los nuevos mensajes, llegaban solos!

Por otra parte descubrí el maravilloso GoogleMaps, pero no me dí cuenta de lo que estaba pasando; mover el mapa arrastrando el ratón (estaba acostumbrado al zoom-pan dinámico de AutoCad y me pareció lo más natural del mundo), incluir mis propios tags en sus mapas...

Y a través de un contacto externo a mi empresa me llegó la noticia de que dos chavales catalanes habían hecho un escritorio virtual en internet donde podías tener tus aplicaciones y datos, y trabajar con ellos.

Poco a poco la web iba cambiando.

Un día, en uno de mis desarrollos web, necesité que la página del navegador de un cliente se actualizase automáticamente, sin su intervención. Es decir, la página debía consultar al servidor, preguntar si debía recargarse, y en caso afirmativo hacerlo.

Lo hice utilizando un truco bastante "sucio": un frame oculto que preguntaba histérico al servidor si el frame visible debía actualizarse, y cuando recibía la respuesta afirmativa, recargaba el frame visible. Pero no me gustó.

Casualmente llegó a mis manos el código html de una web donde ocurría algo raro con los links; el destino de todos los links era el mismo, sólo cambiaban los parámetros mandados a la url destino, y además, o el Firefox 2 era muy, pero que muy rápido, o sólo se recargaban ciertas partes de la página al pulsar un link, y no usaba frames.

Aún no lo sabía pero en todos y cada uno de los casos anteriores me encontraba ante lo mismo: AJAX.

Busqué en Google cómo actualizar sólo ciertas partes de una página html y enseguida aparecieron cientos de páginas y blogs hablando de AJAX.

AJAX es el acrónimo de Asynchronous JavaScript And XML.

En sí no es una nueva tecnología, sino una agrupación de tecnologías que trababjan juntas: XHTML o HTML y CSS, DOM y JavaScript. XHTML o HTML semántico para las páginas, CSS para su representación, Document Object Model para acceder a la estructura de las páginas y JavaScript para interactuar con el servidor y con la página cliente. Genial.

Todo esto ya hacía mucho tiempo que estaba inventado, no era nada nuevo. Lo nuevo era verlo todo junto y funcionando. El punto fuerte de AJAX consiste en intercambiar datos asíncronamente con el servidor web a través del objeto XMLHttpRequest.

Si estais interesados en el tema os puedo recomendar la siguiente página:
www.javapassion.com/ajaxcodecamp . Es de Sang Shin, de Sun Microsystems, y aclara bastantes conceptos básicos. A mí me sirvió de mucho.

Mi interés principal en ese momento de descubrimiento de AJAX fue, por supuesto, ver si esto funcionaba en el servidor Velneo, y funciona. Funciona, y como todo en Velneo, rapidito, rapidito.

Hoy hasta aquí. En próximas entregas, destriparemos el JavaScript básico para la creación del objeto HttpRequest, la comunicación asíncrona con el servidor, la recepción de datos y la actualización de partes específicas de la página.

Hasta la próxima.

No hay comentarios:

Publicar un comentario