Sobre AJAX
Últimamente no he hecho más que oir hablar de
No debemos olvidar que, si bien es una tecnología con el potencial de mejorar la experiencia del usuario web, entraña ciertos problemas (algunos ya resueltos) que pueden empeorar la
Uno de los errores más comunes que he podido encontrarme es la de generación de páginas web a través de esta tecnología a partir de un CMS, manteniendo el layout y cambiando solo el contenido. Si bien es una práctica que supuestamene reduce el tráfico (ya que solo recarga la parte que cambia) tiene varios problemas de base:
- Rompe con el esquema de página como unidad independiente de información
- Deshabilita la navegación mediante los botones del navegador (página anterior y siguiente, recargar, etc…)
- Imposibilita el acceso directo a la página y su guardado en marcadores (ya que la URL jamás cambia)
- Al cambiar el contenido sin haber un refresco de la página algunos dispotitivos de acceso web (lectores de pantalla, braille, etc…) podrían no ser avisados de los cambios, con lo que el usuario no accedería jamás al contenido más allá de la página principal.
Sin embargo si que he visto usos muy, muy buenos de esta tecnología, en general usándola para mejorar la usabilidad de widgets como la subida de archivos de Gmail, la navegación por un calendario en un panel lateral sin refrescar la página o algunas páginas de búsqueda de productos o ítems, en las que se puede filtrar en vivo los criterios que escoje el usuario e incluso su uso para animar elementos de la página.
Todo esto, por supuesto debería userse de forma no intrusiva, y permitir el acceso a dichas funcionalidades aun sin AJAX activado. Ya se han propuesto varias soluciones para algunos de los problemas expuestos en este post, y cada día veo una aplicación nueva para esta tecnología, algunas realmente innovadoras y otras no tanto.
Sin embargo, y hasta que madure algo más, pienso que la usaré solo para mejorar, de forma no intrusiva la experiencia de nuestras aplicaciones, mediante widgets o sistemas de búsqueda/filtrado.

