El término AJAX se presentó por primera vez en el artículo “Ajax: A New Approach to Web Applications” publicado por Jesse James Garrett el 18 de Febrero de 2005. Hasta ese momento, no existía un término normalizado que hiciera referencia a un nuevo tipo de aplicación web que estaba apareciendo.

En realidad, el término AJAX es un acrónimo de Asynchronous JavaScript + XML, que se puede traducir como “JavaScript asíncrono + XML“.

El artículo define AJAX de la siguiente forma:

Ajax no es una tecnología en sí mismo. En realidad, se trata de varias tecnologías independientes que se unen de formas nuevas y sorprendentes.

Las tecnologías que forman AJAX son:

  • XHTML y CSS, para crear una presentación basada en estándares.
  • DOM, para la interacción y manipulación dinámica de la presentación.
  • XML, XSLT y JSON, para el intercambio y la manipulación de información.
  • XMLHttpRequest, para el intercambio asíncrono de información.
  • JavaScript, para unir todas las demás tecnologías.
Tecnologías agrupadas bajo el concepto de AJAX

Tecnologías agrupadas bajo el concepto de AJAX

Desarrollar aplicaciones AJAX requiere un conocimiento avanzado de todas y cada una de las tecnologías anteriores.

En las aplicaciones web tradicionales, las acciones del usuario en la página (pinchar en un botón, seleccionar un valor de una lista, etc.) desencadenan llamadas al servidor. Una vez procesada la petición del usuario, el servidor devuelve una nueva página HTML al navegador del usuario.

En el siguiente esquema, la imagen de la izquierda muestra el modelo tradicional de las aplicaciones web. La imagen de la derecha muestra el nuevo modelo propuesto por AJAX:

Comparación gráfica del modelo tradicional de aplicación web y del nuevo modelo propuesto por AJAX.

Comparación gráfica del modelo tradicional de aplicación web y del nuevo modelo propuesto por AJAX.

Esta técnica tradicional para crear aplicaciones web funciona correctamente, pero no crea una buena sensación al usuario. Al realizar peticiones continuas al servidor, el usuario debe esperar a que se recargue la página con los cambios solicitados. Si la aplicación debe realizar peticiones continuas, su uso se convierte en algo molesto

AJAX permite mejorar completamente la interacción del usuario con la aplicación, evitando las recargas constantes de la página, ya que el intercambio de información con el servidor se produce en un segundo plano.

Las aplicaciones construidas con AJAX eliminan la recarga constante de páginas mediante la creación de un elemento intermedio entre el usuario y el servidor. La nueva capa intermedia de AJAX mejora la respuesta de la aplicación, ya que el usuario nunca se encuentra con una ventana del navegador vacía esperando la respuesta del servidor.

El siguiente esquema muestra la diferencia más importante entre una aplicación web tradicional y una aplicación web creada con AJAX. La imagen superior muestra la interación síncrona propia de las aplicaciones web tradicionales. La imagen inferior muestra la comunicación asíncrona de las aplicaciones creadas con AJAX.

Comparación entre las comunicaciones síncronas de las aplicaciones web tradicionales y las comunicaciones asíncronas de las aplicaciones AJAX

Comparación entre las comunicaciones síncronas de las aplicaciones web tradicionales y las comunicaciones asíncronas de las aplicaciones AJAX

Las peticiones HTTP al servidor se sustituyen por peticiones JavaScript que se realizan al elemento encargado de AJAX. Las peticiones más simples no requieren intervención del servidor, por lo que la respuesta es inmediata. Si la interacción requiere una respuesta del servidor, la petición se realiza de forma asíncrona mediante AJAX. En este caso, la interacción del usuario tampoco se ve interrumpida por recargas de página o largas esperas por la respuesta del servidor.

Desde su aparición, se han creado cientos de aplicaciones web basadas en AJAX. En la mayoría de casos, AJAX puede sustituir completamente a otras técnicas como Flash. Además, en el caso de las aplicaciones web más avanzadas, pueden llegar a sustituir a las aplicaciones de escritorio.

A continuación se muestra una lista de algunas de las aplicaciones más conocidas basadas en AJAX:

Nokia resucita como un Ave Feníx y lanza un nuevo móvil La empresa finlandesa HMD Global, que posee los derechos de uso de la marca Nokia en teléfonos celulares, anunció este martes en un comunicado de pren...
Elementos que necesitamos en nuestra oficina casera Aunque trabajes en casa en tu propia oficina diseñada por ti, si tu trabajo implica tener que desplazarse de vez en cuando a las oficinas de un client...
Nokia lanza móviles con Android El terminal Nokia X es la sorpresa de la compañía finlandesa adquirida por el año pasado por el gigante Microsoft. Y es que es un terminal que acoge e...
Google prepara una alternativa a Skype para integrarla en Chrome Google continúa su campaña de lanzar servicios y herramientas gratuitas para colonizar la red (una campaña que va por muy buen pie). Esta vez le toca ...
Facebook deja de dar soporte a Internet Explorer 7 Facebook ha dejado de dar soporte a los usuarios que utilicen Internet Explorer 7. La noticia llega apenas un año después de que la que es la red soci...
break break ends execution of the current for, foreach, while, do-while or switch structure. break accepts an optional numeric argument which tells it ...
Google te facilita dar las gracias a un contacto por un enlace Google está haciendo cambios importantes durante los últimos meses en muchos de sus servicios, gran parte de ellos están enfocándose e integrando cada...
Estadísticas de tráfico en Facebook Recientemente ha sido ampliado con nuevos datos la sección estadísticas de Facebook con la que ayudarnos a conocer nuestra página y permitirnos obtene...
Que es el Link building Linkbuilding es una de las estrategias del SEO que consiste en conseguir que otras páginas web enlacen a la página que nos interese para hacer que los...
Desarollo de Web o Portal de Noticias Desarollo de web de Noticias EL Proyecto: Desarrollo de una web de noticias desde cero basado en la plataforma de publicación de contenidos semántic...