jueves, noviembre 30, 2006

¿Quieres hacer pan? utiliza AJAX

Esta parece ser la premisa en todo lugar donde hablan de desarrollo Web. Al igual que ha pasado muchas otras veces con otras tantas propuestas y tecnologías AJAX se ha vuelto la palabra de moda y su uso un símbolo de status. SIn embargo no siempre AJAX es la mejor opción en muchas ocasiones en realidad estas generando tráfico y carga adicional todo por usar lo que esta de moda.

Como toda tecnología y herramienta en general AJAX tiene un lugar y uso adecuado por ello cito algunos escenarios donde AJAX no creo que se conveniente:

  • AJAX NO debe ser usado en sitios donde se redibuja toda la página. Piensen que si fuera un link seria solo una llamada en cambio con ajax tendrán la llamada, cambio de estilos y despliegue y el usuario no habrá ganado nada.
  • AJAX NO debe usarse para traer imagenes, un uso común es cambiar las imagenes pero si traen la imagen con AJAX y luego le piden al navegador desplegarla están agregando pasos innecesarios.
  • AJAX NO debe usarse para no tener que cambiar nunca de página. En este caso tus archivos JS se volveran enormes y todo el tiempo que podrías ahorrar entre llamadas lo utilizaras en descargar tus archivos. Los enlaces no son tus enemigos.
  • AJAX NO debe complicar la navegación. Tipicamente cuando alguien encuentra algo interesante lo que hace es mandar el link a otros por lo tanto un link javascript:Ejecutar('2sdfasdfasdf') no servira de nada. Este enfatiza el anterior los enlaces no son tus enemigos
  • AJAX NO debe asumir que todos los navegadores soportan Javascript habemos muchos que tenemos deshabilitadas varias opciones o incluso todo javascript así que siempre piensa en un método alterno.
  • AJAX NO debe ser usados para correr procesos Batch. Por muy tentador que parezca esto no es una buena idea. ¿Porque? porque simplemente pierdes totalmente el control del proceso al enviarlo al servidor. Es posible mantener un control pero para eso necesitarías crear al menos 4 servicios ajax Inicio, Estado, Cancelacion, Resultado. Mientras que una página de servidor puede refrescarse y mantener al tanto al usuario con un mayor control de proceso en el servidor.

En fin todo esto solo es para decir un viejo y conocido dicho la mejor solución es la más simple y recuerda AJAX no siempre lo es.

PS quiero hacer un reconocimiento al equipo de MS Visual Interdev e Internet Explorer que hace 7 años plantearon el uso de RemoteScripting y DHTML, ideas que evolucionaron en XmlHttpRequest y que hoy son base de AJAX, si tan solo todos los hubieran escuchado entonces...

No hay comentarios.: