AJAX, una técnica a usar con moderación

En este artículo explicamos qué es el AJAX, cuándo debe usarse y qué contraindicaciones tiene. También mostramos cómo subsanar algunas de las contraindicaciones.

¿Qué es el AJAX?

Las siglas AJAX significan: Asynchronous JavaScript And XML. Es decir, la combinación de JavaScript y XML de forma asincrónica.

Es una técnica desarrollada para aplicaciones Web interactivas, que consiste en hacer que un conjunto de tres tecnologías ya existentes trabajen juntas, de manera efectiva.

Estas tecnologías son:

  1. (X)HTML y CSS (Hojas de Estilo en Cascada), para dar una estructura y presentar la información en la página web.
  2. JavaScript, utilizado para la interacción dinámica con los datos.
  3. XML, utilizado para la interacción con el servidor web. Aunque no es simpre necesario utilizar XML con las aplicaciones AJAX, ya que por ejemplo, con ficheros de texto plano también se puede almacenar la información.

Al igual que el DHTML, AJAX no es de por sí una tecnología web independiente, sino un término que abarca las tres tecnologías antes mencionadas.

¿Para qué sirve el Ajax?

El Ajax sirve para efectuar cambios en una página web, a voluntad del usuario, sin tener que recargar toda la página de nuevo.

Por ejemplo, en una página web el usuario solicita alguna información que es ofrecida desde la misma página web (como ver la descripción de un producto) y al pulsar sobre el enlace, en la misma página (sin cargarla de nuevo) aparece la información solicitada.

El proceso de mostrar los datos realizado en HTML íntegramente consumiría bastante ancho de banda, ya que todo el HTML debería volver a ser cargado para sólo mostrar los cambios efectuados. En cambio, con una aplicación AJAX es mucho más rápido y no consume ancho de banda.

El JavaScript utilizado en la aplicación AJAX es un lenguaje dinámico, capaz de efectuar cambios en una página Web sin necesidad de re-cargarla. AJAX se asegura de que sólo la información necesaria sea solicitada y procesada, empleando SOAP u otro lenguaje de servicios web basado ligeramente en XML.

De ahí que a nivel técnico, se obtengan 3 ventajas: un tiempo de carga mucho menor, ahorro del ancho de banda del usuario y carga mucho menor del servidor donde está alojada la web.

Los problemas de AJAX

Problemas con la indexación en buscadores:

AJAX es utilizado por Google, Yahoo, Amazon y un sinfín más de buscadores, portales y creadores de contenido, pero no lo utilizan de forma general y masiva tal como algunos piensan. Google, por ejemplo, que apoya que los webmasters utilicen AJAX en sus programaciones, lo utiliza él mismo en GMail, en Google Suggest, en Google Maps, pero no en absolutamente todas sus páginas web.

El problema con AJAX es que el contenido que se muestra dentro de la aplicación que utiliza AJAX, no se indexa en los buscadores. Esto es así porque las arañas (spiders) de los buscadores no son capaces de interactuar con la aplicación AJAX y conseguir que se active el comando que muestra el contenido.

De ahí que sea una mala idea por ejemplo, crear un listado con el nombre de nuestros productos y hacer que con una aplicación AJAX al pulsar sobre un nombre de producto, se muestre la descripción del producto y su fotografía, a la derecha del listado. Si hacemos esto, las descripciones de los productos y sus imágenes no quedarán indexadas ni en Google ni en cualquier otro buscador.

Aunque no todo son malas noticias, ciertas formas de trabajar con AJAX sí que indexan, por ejemplo, las que juegan a mostrar o no mostrar contenidos utilizando márgenes positivos y negativos. Así que basta con que tengamos en cuenta a la hora de programar si las arañas podrán pasar o no podrán pasar.

Problemas con la accesibilidad:

Si partimos de la base que nuestras páginas web deberían ser siempre accesibles a todo tipo de navegadores y de usuarios y al menos deberían cumplir el estándar A del W3C (http://www.w3.org), nos encontramos en que la mayor parte de scripts que mejoran apariencia y la interactividad de una página web tienen problemas de accesibilidad. El AJAX también los tiene.

Como hemos visto al inicio de este artículo, la utilización de AJAX implica la utilización de JavaScript, y algunos navegadores no soportan este tipo de programación. Aunque como veremos más adelante esto tiene solución.

Pero tengamos en cuenta que una gran parte de las aplicaciones AJAX que encontraremos en las librerías que existen en Internet no han subsanado este problema y por lo tanto, son aplicaciones que no cumplen los standares W3C (al final de estas líneas ofrecemos enlaces a librerías de código y a artículos que tratan el tema de la accesibilidad y AJAX).

AJAX, a usar con moderación

Tal como hemos visto en apartado anterior, a pesar de que las aplicaciones AJAX aportan dinamismo, interactividad y reducción de ancho de banda a una página web, también tienen inconvenientes a nivel de indexación en buscadores y a nivel de accesibilidad. Por lo tanto, debemos tener en cuenta y neutralizar lo siguiente:

  1. Si utilizamos AJAX en nuestras páginas web, debemos ser conscientes de que el contenido que se muestre dentro de la aplicación AJAX no será indexado por los buscadores. Para subsanar este detalle, podemos crear este contenido de forma redundante y hacerlo accesible a las arañas a través de un sitemap o a través de enlaces en el pie de página de la web.
  2. Si utilizamos AJAX para hacer más interactiva nuestra página, debemos tener en cuenta que no cumpliremos el nivel A de accesibilidad, a menos que utilicemos las librerías de código aprobadas por el W3C o medios para navegar por la web sin necesidad de utilizar JavaScript.

Enlaces relacionados

Nueva información sobre la indexación de AJAX en Google (marzo 2010): http://code.google.com/intl/es/web/ajaxcrawling/

Ejemplos de páginas web que utilizan AJAX y librerías con código AJAX para ser utilizadas por webmasters:
http://ajaxpatterns.org/Ajax_Examples

Artículos donde se explica cómo conseguir código AJAX que sí cumple con el nivel A de accesibilidad del W3C:
http://www.maxkiesler.com/

Listado con errores comunes de accesibilidad:
http://www.w3.org/TR/WCAG20-SCRIPT-TECHS/#N11799

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *