Las demandas puestas sobre las aplicaciones habilitadas en ambientes "Web" han venido incrementándose a lo largo de los años. Hoy en día, la técnica más reciente para hacer frente a estas necesidades es AJAX o "Asynchronous JavaScript and XML"
A pesar de la gran gamma de tecnologías utilizadas en aplicaciones empleadas en Internet, como : HTML/XHTML, CSS, JavaScript, Flash y XML, la característica primordial de todas estas tecnologías radica en que su uso en un documento debe ser realizado en diversas requisiciones de navegación o "Reloads".
Ejemplifiquemos una secuencia típica de navegación para consultar un catalogo de productos a través de una aplicación web:
- Usuario selecciona criterio de búsqueda a través de una forma HTML/XHTML.
- Usuario obtiene resultados de búsqueda.
- Usuario refina criterio de búsqueda con resultados obtenidos.
Esta simple secuencia en la mayoría de aplicaciones existentes hoy en día, conlleva que el usuario observe documentos totalmente regenerados en cada ocasión, esto se debe a que la información desplegada en cada paso requiere obtener los datos de una aplicación en servidor, sea PHP, JSP/Servlets, ASP/ASP.NET, Perl u otra tecnología de servidor.
El proceso de obtener la información a través de una aplicación de servidor es inevitable, sin embargo, el mecanismo de regenerar el documento que visualiza el usuario en cada requisición, puede ser evitado empleando AJAX.
Al tener la capacidad de obtener información para actualizar un mismo documento, sin que el Navegador modifique su estado, el usuario experimenta una interfaz gráfica sumamente responsiva, ya que no pierde de vista la información original del documento, sino ésta es actualizada en ciertas secciones según lo haga en su proceso de navegación.
La información actualizada continua proviniendo de diversos URL's -- direcciones de Internet -- que poseen un comportamiento idéntico a cualquier aplicación de servidor, como si estas fuesen llamadas de manera independiente de AJAX.
Interfases ágiles previas a AJAX.
El lograr interfases responsivas en aplicaciones web es algo que ha sido intentado de tiempo atrás, sin embargo, previa aparición de AJAX, el principal mecanismo utilizado para este fin resultaba severamente fallido: Colocar toda la información necesaria de navegación en un documento.
Al colocarse toda la información de una secuencia de navegación en un documento, es posible -- mediante eventos JavaScript y elementos DHTML -- modificar la apariencia e información contenida en un documento de una manera muy rápida.
Sin embargo, este proceso conlleva que un usuario debe descargar toda esta información en la requisición inicial del documento. Para secuencias sencillas esto proceso puede resultar viable, sin embargo, conforme incrementa la cantidad y complejidad de la información a desplegarse en un documento, este proceso resulta prácticamente imposible al necesitarse minutos u horas en descargar dicha información.
Ahora seguro se estará preguntando, Cuando es viable utilizar el mecanismo de AJAX a diferencia de este ultimo modelo ? O, quien utiliza AJAX hoy en día ? Exploremos varios sitios en producción que ya utilizan AJAX en sus funciones de navegación.