Upload
edsel-barbosa-gonzalez
View
127
Download
0
Embed Size (px)
Citation preview
Edsel Barbosa GonzálezHéctor José Manzo Briceño
¿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.
AntecedentesEl 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.
¿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.
¿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.
Modelo tradicional vs Modelo AjaxEl 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.
¿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.
Problemas e inconvenientesLas 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.
Navegadores que no lo permitenOpera 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
Navegadores que lo permitenHa 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
élNavegadores 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 posterioresOpera versión 8.0 y superiores, incluyendo Opera Mobile Browser versión 8.0 y superiores.
¿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.