11
Edsel Barbosa González Héctor José Manzo Briceño

Ajax

Embed Size (px)

Citation preview

Page 1: Ajax

Edsel Barbosa GonzálezHéctor José Manzo Briceño

Page 2: Ajax

¿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.

Page 3: Ajax

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.

Page 4: 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.

Page 5: Ajax

¿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.

Page 6: Ajax

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.

Page 7: Ajax

¿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.

Page 8: Ajax

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.

Page 9: Ajax

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

Page 10: Ajax

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.

Page 11: Ajax

¿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.