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:

Tablet PC para bebés lanzado por VINCI Las tablets se expanden por el mercado hoy en día más que una gripe en una guardería, pero es justo aquí, en el mundo de los bebés y los niños peq...
Al hacer busquedas en Bing luego de cerrar sesión te envía a Facebook Solo en Estados Unidos, cada día 37 millones de personas cierran su sesión en Facebook. Y lo que es lo mismo, una buena parte de esas personas ve por ...
Actualizarme a Firefox 8, es mas rapido ahora… El equipo de desarrolllo del navegador web open source con mayor número de usuarios en todo el mundo acaba de liberar Firefox 8 final. Tres meses d...
Nokia Lumia 920 un excelente Smartphone El Nokia Lumia 920 es uno de los dispositivos más punteros dentro del catálogo de Nokia. La firma finlandesa lo presentó como una de sus piezas más re...
Bloques en PERL Todos estos bloques pueden, obviamente, reagruparse:   # if ejecuta el test de una condición y actúa en consecuencia en función de la verda...
Google y Microsoft decidieron finalizar su guerra de patentes Las multinacionales Google y Microsoft han acordado abandonar las 18 demandas por patentes que habían presentado la una contra la otra en Estados Unid...
Jet.com, la nueva competencia de Amazon.com El sitio de ventas en línea Jet.com se lanzará próximamente al asalto de Amazon.com, el gigante del comercio electrónico, proponiendo precios más comp...
Códigos javascript para manipular imágenes Una serie de diez códigos Javascript que facilitan el manejo de las imágenes para mejorar el diseño e interactividad de tu página web. En Blog Oh! ...
12% de los usuarios de iPad ya no usa su portátil Las tabletas no solo están canibalizando a los PC en el segmento de consumo, sino también en el profesional. Así lo revela un estudio publicado por ID...
Google, Microsoft y otros acuerdan implementar sistema de “no rastreo” en internet El presidente de Estados Unidos, Barack Obama, presentó una propuesta de regulación para la privacidad en internet, que busca hacerse cargo de las con...
Introducción a AJAX
Tagged on: