AJAX (Asynchronous JavaScript And XML), JavaScript y XML asíncronos, es una técinia desarrollada para aplicaciones Web interactivas, haciendo que un conjunto de tres tecnologías ya existentes trabajen juntas, de manera efectiva.
AJAX (Asynchronous JavaScript And XML), JavaScript y XML asíncronos, es una técinia desarrollada para aplicaciones Web interactivas, haciendo que un conjunto de tres tecnologías ya existentes trabajen juntas, de manera efectiva. Estas teconologías son:
* (X)HTML y CSS (Hojas de Estilo en Cascada), para dar una estrucutura y presentar la información.
* JavaScript y DOM (Objeto de Modelado de Documentos), utilizado para la interacción dinámica con los datos.
* XML y XSTL, utilizados para la interacción con el servidor web, de manera que haya un intercambio constante y efectivo de informaciones y data. (No es necesario utilizar XML con las aplicaciones AJAX, ya que otro tipo de ficheros, como los textos planos, pueden ser utilizados para almacenar la información).
Al igual que el DHTML, AJAX no es de por sí una tecnología web independiente, sino más bien un termino que abarca las tres tecnologías antes mencionadas.
Diferencia entre AJAX y Otras Aplicaciones Tradicionales
Existen ciertas diferencias entre AJAX y las demás aplicaciones Webs tradicionales, y que debido a estas diferencias AJAX puede ser una mejor opción que otra teconología tradicional. Una de estas diferencias es que en las aplicaciones webs hechas de manera tradicional interactuán con el usuario mediante el uso de formularios, que al ser envíados realizan una petición al servidor y este le devuelve la información y/o data. Este proceso consume bastante ancho de banda, ya que todo el HTML tiene que volver a ser cargado para sólo mostrar los cambios efectuados. Además de esto, el grado de interactividad de las aplicaciones disminuye, ya que se necesita presentrar toda la información que el cliente puede que vaya a usar.
Con AJAX la situación es diferente. JavaScript es un lenguaje dinámico, capaz de efectuar cambios en una página Web sin necesidad de re-cargarla. AJAX se asegura de que sólo la información necesaria sea solicitada y procesada, empleando SOAP, o otro lenguaje de servicios web basados ligeramente en XML. Esto resulta en un tiempo de carga mucho menor a la vez que se ahorra el ancho de banda del usuario y cargando menos el servidor.
Posibles Problemas y/o Limitaciones de AJAX
Accesibilidad
Como ya sabemos, AJAX requiere de JavaScript. JS es un lenguaje universal y muy utilizado, sin embargo se dan casos en que los usuarios que no saben configurar sus exploradores puedan tener el soporte de JS desactivado, por lo cual no podrán navegar la página Web. También existen exploradores que de por si no soportan JS.
Una solución a este problema es tratar de desarrollar las aplicaciones que utilizan AJAX de manera que si no hay soporte de JavaScript el usuario aún así pueda navegar y tener acceso al contenido de la página Web. Así que estariamos voliendo al modelo tradicional de las aplicaciones Webs, los formularios.
Aplicaciones que Utilizan AJAX
Existen un sin número de aplicaciones en la Web que hoy en día utilizan AJAX de manera extensiva. El primer sistema conocido que implementó AJAX fue el trabajo en grupo del Microsft Exchange Server. Sin embargo, Google es el precursor de AJAX ya que lo ha popularizado a tal punto de que es una de la herramientas Webs que todos queremos utilizar en nuestros sitios Web. Entre las aplicaciones de Google que utilizan AJAX se encuentran:
Google Groups,
Google Suggest,
Google Maps y
Gmail.
Otras aplicaciones Webs que utilizan AJAX son:
*
A9, buscador de Amazon.
*
Flickr, álbumes de fotos online.
*
Oddpost, servicio de webmail avanzado, de Yahoo!
*
Basecamp, servicio de gestión de proyectos.
Enlaces Externos y Otras Informaciones
* [ES]
AJAX un nuevo acercamiento a Aplicaciones Web
* [ES]
Implementando AJAX con C#/VB en ASP.NET
* [EN]
Ajax: A New Approach to Web Applications, por Jesse James Garrett
* [EN]
Wiki sobre patrones AJAX