2. ¿Qué es?
Su concepto primordial es el cargar y
renderizar una página, luego mantenerse
en esa página mientras scripts y rutinas van
al servidor buscando, en background, los
datos que son usados para actualizar la
página solo re-renderizando la página y
mostrando u ocultando porciones de la
misma.
3. Antecedentes
El término «Ajax» fue creado en 2005 por Jesse James Garrett, pero esta tecnología se remonta a una década antes con la
iniciativa de Microsoft en el desarrollo de Scripting Remoto. Sin embargo, las técnicas para la carga asíncrona de contenidos en
una página existente sin requerir recarga completa remontan al tiempo del elemento iframe (introducido en Internet Explorer 3 en
1996) y el tipo de elemento layer (introducido en Netscape 4 en 1997). Ambos tipos de elemento tenian el atributo src que podía
tomar cualquier dirección URL externa, y cargando una página que contenga JavaScript que manipule la página paterna, pueden
lograrse efectos parecidos al Ajax.
4. ¿Por que es interesante?
AJAX no es una tecnología, sino la unión de varias tecnologías que juntas pueden lograr cosas realmente impresionantes, como
Google Maps, Gmail, Outlook y los Web Access o algunas otras aplicaciones muy conocidas.
5. ¿Que incorpora?
1. Presentación basada en estándares usando XHTML y CSS;
2. Exhibición e interacción dinámicas usando el Document Object Model;
3. Intercambio y manipulación de datos usando XML and XSLT;
4. Recuperación de datos asincrónica usando XMLHttpRequest;
5. JavaScript poniendo todo junto.
6. Modelo tradicional
vs Modelo Ajax
El modelo clásico de aplicaciones Web funciona de esta
forma: La mayoría de las acciones del usuario en la
interfaz disparan un requerimiento HTTP al servidor web.
El servidor efectúa un proceso (recopila información,
procesa números, hablando con varios sistemas
propietarios), y le devuelve una página HTML al cliente.
Este es un modelo adaptado del uso original de la Web
como un medio hipertextual, pero como fans de “The
Elements of User Experience” sabemos, lo que hace a la
Web buena para el hipertexto, no la hace
necesariamente buena para las aplicaciones de
software.
7. ¿Cómo es diferente?
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.
8. Problemas e inconvenientes
Las páginas creadas dinámicamente mediante peticiones sucesivas AJAX, no son registradas de forma automática en el
historial del navegador.
Los motores de búsqueda no analizan JavaScript.
Hay problemas usando Ajax entre nombres de dominios, a esto se le conoce como Same Origin Policy o Política del Mismo
Origen, lo cual es una medida de seguridad que puede ser solucionada con Cross-Origin Resource Sharing (CORS).
Dependiendo de cómo se desarrolle el sitio web, puedes mejorar o empeorar la carga en el servidor.
Es posible que páginas con Ajax no puedan funcionar en teléfonos móviles, PDA u otros aparatos.
9. Navegadores que no lo permiten
Opera 7 y anteriores
Microsoft Internet Explorer para Windows versión 4.0 y anteriores
Anteriores a Safari 1.2
Dillo
Navegadores basados en texto como Lynx y Links
Navegadores para personas con capacidades especiales visuales (Braille)
Algunos navegadores de teléfonos móviles
Navegador de la PSP
10. Navegadores que lo permiten
Ha de tenerse en cuenta que ésta es una lista general, y el soporte de las aplicaciones Ajax dependerá
de las características que el navegador permita.
Navegadores basados en Gecko como Mozilla, Mozilla Firefox, SeaMonkey, Camino, K-Meleon,
IceWeasel, Flock, Epiphany, Galeon y Netscape versión 7.1 y superiores
Navegadores basados en WebKit como Google Chrome de Google o Safari de Apple.
Microsoft Internet Explorer para Windows versión 5.0 y superiores, y los navegadores basados en él
Navegadores con el API KHTML versión 3.2 y superiores implementado, incluyendo Konqueror
versión 3.2 y superiores y el Web Browser for S60 de Nokia tercera generación y posteriores
Opera versión 8.0 y superiores, incluyendo Opera Mobile Browser versión 8.0 y superiores.
11. ¿Quien lo está usando?
Google está haciendo una significativa inversión en
el acercamiento Ajax. Todos los grandes productos
que Google ha introducido en el último año (Orkut,
Gmail, la última versión de Google Groups, Google
Suggest, y Google Maps ) son aplicaciones Ajax.
Otros están siguiendo la tendencia: muchas de las
funciones que la gente ama en Flickr dependen de
Ajax, y el motor de búsqueda de Amazon, A9.com
aplica tecnologías similares.