25 feb 2006

// //

Actualizandose a AJAX

Bueno hay algo que esta dandose a conocer bastante y se denomina AJAX (Asynchronous JavaScript and XML) y bueno para que no haya confusiones, Ajax no es una tecnología. Es realmente muchas tecnologías, cada una floreciendo por su propio mérito, uniéndose en poderosas nuevas formas

Con todo esto, podemos tener una interaccion entre usuario y aplicacion mas comoda ya que no al hacerse mas rapido la carga de informacion, se asemeja cada vez mas a las aplicaicones de escritorio y con todo el poder de la web, para no hacer muy largo esto he aqui el modelo de trabajo de una aplicacion tradicional y otra hecha con AJAX.


Una aplicación AJAX elimina la naturaleza “arrancar-frenar- arrancar-frenar” de la interacción en la Web introduciendo un intermediario -un motor AJAX- entre el usuario y el servidor. Parecería que sumar una capa a la aplicación la haría menos reactiva, pero la verdad es lo contrario.
En vez de cargar un pagina Web, al inicio de la sesión, el navegador carga al motor AJAX (escrito en JavaScript y usualmente “sacado” en un frame oculto). Este motor es el responsable por renderizar la interfaz que el usuario ve y por comunicarse con el servidor en nombre del usuario. El motor AJAX permite que la interacción del usuario con la aplicación suceda asincrónicamente (independientemente de la comunicación con el servidor). Así el usuario nunca estará mirando una ventana en blanco del navegador y un icono de reloj de arena esperando a que el servidor haga algo.

Aca tenemos el patrón de interacción sincrónica de una aplicación Web tradicional (arriba) comparada con el patrón asincrónico de una aplicación AJAX (abajo).


Cada acción de un usuario que normalmente generaría un requerimiento HTTP toma la forma de un llamado JavaScript al motor AJAX en vez de ese requerimiento. Cualquier respuesta a una acción del usuario que no requiera una viaje de vuelta al servidor (como una simple validación de datos, edición de datos en memoria, incluso algo de navegación) es manejado por su cuenta. Si el motor necesita algo del servidor para responder (sea enviando datos para procesar, cargar código adicional, o recuperando nuevos datos) hace esos pedidos asincrónicamente, usualmente usando XML, sin frenar la interacción del usuario con la aplicación.

YA no me quiero extender mucho en esta tema pero les recomiendo que investiguen mas ya que es muy bueno, si quieren aprender mas a fondo sobre esto pueden visitar el articulo de Jesse James Garrett, es buenisimo en verdad. Espero que todo esto les sirva de algo.

Saludos.