En este artÃculo explicamos qué es el AJAX, cuándo debe usarse y qué contraindicaciones tiene. También mostramos como 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:
- (X)HTML y CSS (Hojas de Estilo en Cascada), para dar una estructura y presentar la información en la página web.
- JavaScript, utilizado para la interacción dinámica con los datos.
- 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, o 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 el 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 ejemplos, 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 a 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:
- 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.
- 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 como 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
Â