Ultimas entradas

Post’s recientes

¿Sabes lo que es AJAX en programacion web?

El término AJAX se presentó por primera vez en el artículo "Ajax: A New Approach to Web Applications" publicado por Jesse James Garrett el 18 de Febrero de 2005. Hasta ese momento, no existía un término normalizado que hiciera referencia a un nuevo tipo de aplicación web que estaba apareciendo.


DEFINIENDO AJAX

Si definimos AJAX por sus letras quiere decir “Asynchronous JavaScript And XML” pero seguimos sin entender que es, bueno… definición “for dummies”, AJAX no es mas que la transferencia de información utilizando el lenguaje Javascript para controlar procedimiento de transferencia, esta información fluye en 2 canales independientemente de que va y que viene (Específicamente es una conversación a destiempo entre el servidor y el cliente) y finalmente el formato en el cual la información se transmite “usualmente” es en XML… que simplemente es una manera de organizar la información de manera inteligible o mas fácil de entender a simple vista. Claro que el formato XML no es el único que se utiliza, también se puede usar texto simple para enviar la información o se codifica o formatea usando otros estándares como JSON (mi preferido).


¿Qué hace?, simplemente actualiza una porción de nuestra pagina web sin necesidad de cargar el código, atributos gráficos e imágenes de nuevo. ¿Es necesario?, en ciertos casos es necesario, digamos por ejemplo “maps.google.com” sin la habilidad AJAX no se podrían dibujar mapas o crear aplicaciones que parezcan como si estuviesen corriendo localmente (EXT JS), AJAX esta aquí para quedarse pero como programador pienso que debería existir algo que unificara todas esas tecnologías en una sola, siendo necesario la creación de una herramienta que se encargue de tomar todas estas grandes técnicas y enfocarlas en un solo lenguaje o un gran conjunto para dedicarnos a tocar los procesos mas complejos o de funcionamiento interno y no perder tanto tiempo pendiente de atributos necios o que efectos darle cuando se esconda una tablita en forma de grid.

El artículo define AJAX de la siguiente forma:

Ajax no es una tecnología en sí mismo. En realidad, se trata de varias tecnologías independientes que se unen de formas nuevas y sorprendentes.


TECNOLOGIAS QUE UTILIZA

Las tecnologías que forman AJAX son:
· XHTML y CSS, para crear una presentación basada en estándares.

· DOM, para la interacción y manipulación dinámica de la presentación.

· XML, XSLT y JSON, para el intercambio y la manipulación de información.

· XMLHttpRequest, para el intercambio asíncrono de información.

· JavaScript, para unir todas las demás tecnologías.



COMO FUNCIONA 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.



Desarrollar aplicaciones AJAX requiere un conocimiento avanzado de todas y cada una de las tecnologías anteriores.

En las aplicaciones web tradicionales, las acciones del usuario en la página (pinchar en un botón, seleccionar un valor de una lista, etc.) desencadenan llamadas al servidor. Una vez procesada la petición del usuario, el servidor devuelve una nueva página HTML al navegador del usuario.

En el siguiente esquema, la imagen de la izquierda muestra el modelo tradicional de las aplicaciones web. La imagen de la derecha muestra el nuevo modelo propuesto por AJAX:

Esta técnica tradicional para crear aplicaciones web funciona correctamente, pero no crea una buena sensación al usuario. Al realizar peticiones continuas al servidor, el usuario debe esperar a que se recargue la página con los cambios solicitados. Si la aplicación debe realizar peticiones continuas, su uso se convierte en algo molesto
AJAX permite mejorar completamente la interacción del usuario con la aplicación, evitando las recargas constantes de la página, ya que el intercambio de información con el servidor se produce en un segundo plano.

Las aplicaciones construidas con AJAX eliminan la recarga constante de páginas mediante la creación de un elemento intermedio entre el usuario y el servidor. La nueva capa intermedia de AJAX mejora la respuesta de la aplicación, ya que el usuario nunca se encuentra con una ventana del navegador vacía esperando la respuesta del servidor.

El siguiente esquema muestra la diferencia más importante entre una aplicación web tradicional y una aplicación web creada con AJAX. La imagen superior muestra la interación síncrona propia de las aplicaciones web tradicionales. La imagen inferior muestra la comunicación asíncrona de las aplicaciones creadas con AJAX.

Las peticiones HTTP al servidor se sustituyen por peticiones JavaScript que se realizan al elemento encargado de AJAX. Las peticiones más simples no requieren intervención del servidor, por lo que la respuesta es inmediata. Si la interacción requiere una respuesta del servidor, la petición se realiza de forma asíncrona mediante AJAX. En este caso, la interacción del usuario tampoco se ve interrumpida por recargas de página o largas esperas por la respuesta del servidor.

Desde su aparición, se han creado cientos de aplicaciones web basadas en AJAX. En la mayoría de casos, AJAX puede sustituir completamente a otras técnicas como Flash. Además, en el caso de las aplicaciones web más avanzadas, pueden llegar a sustituir a las aplicaciones de escritorio.

A continuación se muestra una lista de algunas de las aplicaciones más conocidas basadas en AJAX:

· Gestores de correo electrónico: Gmail, Yahoo Mail, Windows Live Mail.
· Cartografía: Google Maps, Yahoo Maps, Windows Live Local.

· Aplicaciones web y productividad: Google Docs, Zimbra, Zoho.

· Otras: Netvibes [metapágina], Digg [noticias], Meebo [mensajería], 30 Boxes [calendario], Flickr[fotografía].






0 comentarios:

Publicar un comentario