¿Qué es Ajax?

Ajax_Logo

Si leiste el artículo El XHTML y sus secuaces te mereces nuestro más sincero agradecimiento, y como has demostrado tener mucha curiosidad, quizás te interese saber más sobre Ajax, así que permiteme contarte más sobre su ciclo de vida.

Ajax es una metodología sin olor a pino que ha revolucionado la manera de interactuar y mostrar la información en una página.

Hubo un momento en que se popularizó una solución que permite al navegador solicitar información al servidor sin recargar la página. En ese momento, los programadores empezaron a ver las páginas desde otro punto de vista porque se contaba con un lenguaje (Javascript) que permite modificar la página que se estaba visualizando, y un sistema con el cual solicitar desde Javascript nueva información que después de ser procesada puede complementar o puede ponerse en lugar de la información anteriormente mostrada, y esto permite una interacción mucho más fluida.

¿Porqué es necesaria esta cooperación?

Como hemos visto en el otro artículo, el XHTML es un lenguaje de definición de contenidos, no tiene capacidad para consultar con bases de datos, ni tiene capacidad para modificarse a si mismo. Por otro lado, el Javascript se procesa en el navegador, con lo cual tampoco tiene capacidad para consultar las bases de datos que están en el servidor. Por estas razones surge esa cadena de dependencias que vamos a analizar.

El navegador solicita una página al servidor que tendrá por ejemplo un listado de ofertas de trabajo. En esta primera interacción el servidor compone una página completa en XHTML con su cabecera, su metanavegación, su menú, el listado, ese gif animado tan ortera … enlaces a los ficheros CSS y enlaces a los ficheros Javascript. Cuando el navegador recibe toda esta información comienza a interpretar el guión que le marca el Javascript, que puede indicarle por ejemplo que esté atento al momento en que el usuario pulsa sobre un botón que dice «puestos con contrato indefinido». Entonces el Javascript, por arte de birle y birloque, solicita al servidor que le devuelva únicamente el XHTML necesario para mostrar el listado que cumple esas condiciones. En el mejor de los casos podrá hacer una sustitución de la porción de código existente por la porción de codigo recibida, pero en el caso más probable tendrá que esconder la tabla de ofertas y mostrar en su lugar una frase que excuse la falta de resultados, a finde cuentas estamos en crisis, ya era una suerte que hubieran ofertas como para esperar contratos indefinidos.

Funcionalidades no intrusivas

Tenemos que recordar que las webs no son leidas únicamente por humanos. Por esta razón se debe procurar que el contenido forme parte del HTML desde el primer momento, para que esté disponible tanto a robots como a lectores para personas invidentes.

Se le conoce como funcionalidad no intrusiva porque la página es igualmente navegable cuando se tiene el Javascript desactivado, y generalmente se considera una práctica recomendable, aunque pueden haber ocasiones como el famoso Google Maps donde no tendría sentido intentar que funcionase sin tener Javascript activado porque sería inusable.

Coste

Estas ventajas en la usabilidad, que cualquier programador reconocerá que merecen la pena en algunas ocasiones, suponen un incremento sustancial en el trabajo a realizar.

El listado inicial supone aproximadamente el mismo esfuerzo, pero si vas a implementar Ajax en esa página, vas a tener que:

escribir código Javascript que:

  1. esté atento a las acciones del usuario
  2. cargue la nueva información a mostrar
  3. la muestre de manera adecuada

escribir código CSS que:

  1. de aspecto al listado original
  2. de aspecto a la animación de progreso de carga
  3. de aspecto a un posible mensaje de error

escribir código en el servidor que:

  1. obtenga ese mismo listado filtrado
  2. genere XHTML con el listado pero sin el resto de elementos (cabecera, menu, …)

volver arriba

Los comentarios están cerrados.