AJAX: artículos de interés


Share |
votar

“AJAX no es una tecnología, sino la unión de varias tecnologías que juntas pueden lograr cosas realmente impresionantes como GoogleMaps, Gmail el Outlook Web Access (ref) o algunas otras aplicaciones muy conocidas: AJAX, en resúmen, es el acrónimo para Asynchronous JavaScript + XML y el concepto es: 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”.

Junto con esta introducción, obtenida de la traducción del artículo de James Garret (primer artículo de nuestro comentario, en el que se describen las funcionalidades de AJAX) publicada en  Denken Über, os referenciamos otro publicado en Mosaic por  César Tardáguila sobre las ventajas e inconvenientes AJAX frente a Flash.

Por último incluimos referencias a enlaces de recursos relativos a AJAX.

Artículos sobre AJAX

Desde nuestro punto de vista es un artículo de referencia sobre este tema. Explica, de una forma realmente sencilla, la diferencia de funcionamiento entre las aplicaciones web “clásicas” en las que la mayoría de las acciones del usuario en la interfaz disparan un requerimiento HTTP al servidor web y el servidor, depués de efectuar un proceso (recopila información, procesa números, hablando con varios sistemas propietarios),  le devuelve una pagina HTLM al cliente; y las aplicaciones basadas en 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 asociado 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.”

En ambos artículos se ilustra esta diferencia de funcionamiento mediante los siguientes diagramas:

Diferencias de funcionamiento entre una aplicación web clásica y una apliación que utiliza AJAX
Diferencias de funcionamiento entre una aplicación web clásica y una apliación que utiliza AJAX. Fuente: Ajax: A New Approach to Web Applications
El patrón de interacción sincrónica de una aplicación Web tradicional (arriba) comparada con el patrón asincrónico de una aplicación AJAX (abajo)
El patrón de interacción sincrónica de una aplicación Web tradicional (arriba) comparada con el patrón asincrónico de una aplicación AJAX (abajo). Fuente: Ajax: A New Approach to Web Applications

“Cada acción de un usuario que normalmente generaría un requerimiento HTTP toma la forma de un llamado JavaScript al motor AJAX en vez de ese requerimiento. Cualquier respuesta a una acción del usuario que no requiera una viaje de vuelta al servidor (como una simple validación de datos, edición de datos en memoria, incluso algo de navegación) es manejado por su cuenta. Si el motor necesita algo del servidor para responder (sea enviando datos para procesar, cargar código adicional, o recuperando nuevos datos) hace esos pedidos asincrónicamente, usualmente usando XML, sin frenar la interacción del usuario con la aplicación.”

En este otro artículo se intenta orientar sobre la elección entre AJAX y Flash a la hora de diseñar una interface de usuario. El autor intenta zanjar la discusión simplificando las diferencias básicas entre ambos:

“el uso de tecnologías propietarias, o abiertas, y es que el player o máquina virtual de Flash es algo cerrado, propiedad de Adobe, y el HTML dinámico basado en comunicaciones asíncronas depende de un objeto (XMLHTTPRequest) propiedad de Microsoft, aunque implementado por todos los navegadores modernos”

El artículo hace un interesante repaso al origen de ambas tecnologías para, finalmente, destacar la ventajas e inconvenientes de ambas tecnologías:

AJAX
Lo buenoLo malo
  • Basada en HTML, en realidad en XHTML, por lo que debería ser fácilmente estandarizable.
    Accesible. La integración de lectores de pantalla, las posibilidades de modificar el tamaño del texto por el usuario, etc siguen sin tener comparación en Flash. (Por aquí hay disidencia: ¿AJAX accesible? Si te lee Stevie Wonder se le caen las gafas de sol. La propuesta es quitarlo tanto de aquí como de Flash)
  • Integración con CSS. Es, por tanto, bastante sencillo separar datos de presentación, por lo que las aplicaciones son más escalables.
  • Ligereza. Se supone que una página con sólo HTML es más ligera que un front-end en flash, aunque en realidad el Javascript necesario para funcionar no es tan ligero, por lo que finalmente se depende de mecanismos de caché en servidor.
  • Javascript. Lenguaje interpretado en el navegador, sencillo, orientado a objetos (según a quién se le pregunte), especialmente orientado a manipular el DOM de las páginas.
  • Motores de búsqueda. Al basar los interfaces en HTML, son fácilmente indexados por los motores de búsqueda. Siempre y cuando su contenido no sea producto de una petición de datos a servidor, claro está.
  • El usuario puede haber deshabilitado el Javascript en el navegador.
  • Se depende de un objeto propiedad de Microsoft para las comunicaciones asíncronas. Lo malo de esto no es que ese objeto sea propiedad de Microsoft o de cualquier otro, sino que es propiedad de alguien.
  • No es tan ligero como parece a primera vista.
  • Burdo. Por mucho que se intente, el resultado final no es comparable al de una web en Flash.
Flash
Lo buenoLo malo
  • Player casi universal. Prácticamente todos los ordenadores del mundo lo tienen instalado, aunque eso no implica que el usuario de un ordenador en concreto tenga instalada la última versión del mismo, ni que no lo haya deshabilitado utilizando alguna extensión del navegador.
    Calidad visual. Sobre todo con el avance en el manejo de los textos en las últimas versiones del player de Flash.
  • Animación, multimedia. La única forma solvente de incluir animaciones, contenido interactivo, vídeo, audio.
  • Lenguaje de programación de alto nivel orientado a objetos, aunque también sea interpretado en el player.
  • Se depende de un plug-in, propietario.
  • Se tiende a abusar de las animaciones.
  • Integración con el botón de volver del navegador no es nada sencilla.
  • Poco accesible, a pesar de que las últimas versiones de Flash suponen una mejora sensible en este aspecto.
  • Está inevitablemente unido a dos cosas: el botón de “Skip intro” y los banners abusivamente invasivos.

Otras referencias sobre AJAX:


Tags: desarrollo web, diseño web, javascript

Trackbacks/Pingbacks

  1. Bitacoras.com - 18 diciembre 2009

    Información Bitacoras.com…

    Valora en Bitacoras.com: Articulos de interes sobre AJAX y una comparativa de AJAX con Flash….

  2. AJAX: artículos de interés - 18 diciembre 2009

    [...] AJAX: artículos de interés [...]

  3. AJAX: artículos de interés | Diseño web, accesibilidad, usabilidad … | Posicionamiento web en Argentina - 18 diciembre 2009

    [...] AJAX: artículos de interés | Diseño web, accesibilidad, usabilidad … Tags: web Share this post! Twitter Digg Facebook Delicious StumbleUpon Google Bookmarks LinkedIn Technorati Favorites This entry was posted on 17 Diciembre 2009 at 22:14 pm, and is filed under Sin categoría. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. [...]

Compression Plugin made by Cork Tiles