10 cosas sobre AJAX que deberías saber

El 29 de junio se celebró un seminario en la Universidad Politécnica de Madrid sobre AJAX en el que participaron Félix Díaz de Grupo Vermon y los programadores y diseñadores de eyeOS.

El término AJAX fue acuñado por nuestro amigo Jesse James Garrett y ésto es lo básico que deberíamos saber sobre él:

1. AJAX (Asynchronous JavaScript and XML en inglés «JavaScript y XML asíncronos») es una técnica de desarrollo web que conjuga varias tecnologías que ya existían mucho antes de ser acuñado el término. AJAX no es una tecnología o un lenguaje de programación en si, citando a Félix “AJAX es una forma de programar”. Las tecnologías implicadas en AJAX son:

  • XHTML o HTML y CSSS
  • DOM Document Object Model
  • XMLHttpRequest
  • XML

La última: XML como formato para intercambio de información no es imprescindible, por ejemplo en CompareBlogs no lo utilizamos con esta finalidad.

2. Para programar y que tus webs tengan funcionalidades AJAX no necesitas instalar nada en el servidor. Ésta es una confusión bastante generalizada que en parte se debe a que en el artículo original de Garrett sobre AJAX se utilizan términos como “AJAX Engine” que pueden inducir a error.

3. Lo que se consigue con AJAX es cargar una sola vez la página y dar la opción al usuario de interactuar con ella de una forma que habitualmente requeriría varios refrescos o “pantallazos”: consultando, insertando, editando, guardando información… Un claro ejemplo de esto lo encontramos en Flickr, donde es posible editar el título de las fotografías sin necesidad de acceder a páginas intermedias:


4. Un proceso web diseñado con AJAX no tiene porqué ser más rápido que el mismo proceso diseñado de la forma convencional. Lo que si que es cierto es que el usuario puede tener la percepción de que todo funciona con mayor rapidez lo cual se debe en parte a que le estás permitiendo interactuar con tu aplicación web de una forma más parecida a la forma con la que interactúa con sus aplicaciones de escritorio: Word, Excel, Outlook o similares…

5. Para usar AJAX el navegador del usuario debe soportar JavaScript, algo que hacen la mayoría de los navegadores. El XML HttpRequest lo soportan todos los navegadores pero no de la misma forma con lo que es conveniente usar librerías que simpliquen su uso. En sus ejemplos prácticos Félix Diáz utilizó la última versión de XHConn (abril 2005) compatible con Apple Safari 1.2+, IE 5.0+, Mozilla 0.7.3+ (Firefox, Camino…) y Opera Browser 7.6 (parcialmente).

6. El uso de AJAX puede influir negativamente en la usabilidad de la página y en cierta manera atenta contra el diseño original de la Web de Tim Berners-Lee. La página web fue concebida como la unidad atómica de la web, permitiendo refrescos parciales o incluso remodelaciones completas del contenido sin cambiar de página estamos alterando este concepto y tal vez es demasiado pronto para valorar si se trata de una verdadera “evolución”.

7. AJAX provoca alteraciones graves en la navegación. Los botones “Atrás”, “Adelante”, “Actualizar” o la opción de “Añadir a Favoritos” no funcionan correctamente (o cómo se espera de ellos) en webs en las que se ha hecho un uso intenso de AJAX. Con un arduo trabajo de programación se pueden mitigar estas alteraciones, tal vez Gmail es la aplicación que más cerca está de conseguirlo.




8. El ahorro de ancho de banda por si sólo no justificaría un rediseño de un web en AJAX ya que la propia caché del explorador ya evita en parte que elementos repetidos se carguen varias veces: imágenes de cabecera, iconos… etc. Que en España aun paguemos una burrada por la transferencia y el espacio de almacenamiento sería otro tema de discusión.

9. Al reducir el número de veces que se carga una página entera el número de páginas vistas de webs con AJAX se reducen. La página vista deja por tanto de ser una magnitud valorable a la hora de comparar webs con AJAX (las visitas, los usuarios únicos y otras magnitudes siguen conservando su valor). En este gráfico de Javi Moya podemos apreciar la diferencia:


10. El uso de AJAX aumenta la complejidad del código de programación de una web y por tanto alarga y encarece el proceso de desarrollo. Es necesario valorar muy bien en qué momentos debemos utilizar AJAX y en cuales optar por otras soluciones.

Trabajo en ENZO desarrollando aplicaciones web para empresas. Me apasiona todo lo relacionado con Internet, las nuevas tecnologías, la programación y los ordenadores. Si te gustan mis artículos puedes suscribirte por e-mail a mi blog.