Publicidad:
La Coctelera

Garbage In, Garbage Out

Diseño web, tecnología, e internet.

5 Octubre 2005

Una aproximación a AJAX

Últimamente no paro de leer una y otra vez la palabra AJAX en todo revista, foro o lista de correo sobre tecnologías web. Más o menos tenía una idea aproximada de lo que era AJAX pero es hoy cuando me he decidido a tratar de entenderlo.

Leyendo el artículo AJAX un nuevo acercamiento a aplicaciones Web del blog Denken Über me he formado una idea de lo que es y he confirmado mis sospechas de qué aplicaciones había por ahi ya hechas con esta tecnología.

¿Qué es AJAX?

AJAX es un acrónimo inglés que significa Asynchronous JavaScript + XML, es decir, no es un producto en sí, sino una técnica que utiliza varias tecnologías, del mismo modo que LAMP es Linux+Apache+MySQL+PHP.

Las tecnologías que se usan son:

Las gran mayoría de aplicaciones web hechas hasta ahora se basan en un modelo de petición, espera, y respuesta. El usuario pincha un enlace, espera la respuesta con una página en blanco, y luego recibe la página de respuesta. Aunque la página de respuesta sea prácticamente igual a la anterior, se le envía la página completa, lo que alarga la espera.

AJAX resuelve gran parte de estos problemas. Aprovecha los tiempos muertos del usuario para cargar datos en un segundo plano y así reducir la espera. Además, permite que el servidor envíe únicamente los datos de la página que cambian mediante XML (SOAP por ejemplo). No está obligado a enviar toda la página como hasta ahora. Esto acelera la experiencia de usuario ya que tiene que esperar mucho menos.

Esto se logra cargando en el navegador del usuario un motor AJAX escrito en Javascript. El motor normalmente se oculta en un marco o frame invisible. Cualquier acción del usuario es atendida por el motor en el propio navegador, y únicamente se hace una petición al servidor cuando es necesario.

Aplicaciones que usan AJAX

Como me temía, la empresa que está apostando fuerte por esta nueva tecnología es Google. Ya lo ha utilizado en GMail, Google Maps, Orkut, la nueva versión de Google Groups, y Google Suggest, entre otros. Además de Google, lo utiliza también el buscador de Amazon A9.com y Flickr. Por ejemplo, en Google Suggest es utilizado para sugerir palabras de búsqueda mientras se teclea.

Desventajas

En mi opinión, técnicamente es una auténtica maravilla. Solo hay que ver lo rápido que va GMail.

Un receloso del uso intensivo de Javascript, como soy yo, no puede evitar indicar algunas desventajas que también se han señalado en la Wikipedia:

  • Disminuye la accesibilidad: No hacía falta ser muy listo para adivinar esto. Al depender de Javascript, la aplicación no puede ser accedida por un navegador que no tenga Javascript. GMail resuelve este problema ofreciendo una versión de la aplicación sin Javascript. De todas formas, hay que tener cuidado con esto. Además, meter el motor en un frame oculto, tampoco ayuda mucho a tener una página accesible.
  • Disminuye la usabilidad: Los botones del navegador "Atrás" y "Refrescar" pueden funcionar mal en algunas ocasiones, ya que aunque el contenido cambia dinámicamente de un modo muy rápido, la página sigue siendo la misma. Por ejemplo, a veces, yo tengo que darle dos veces para refrescar la bandeja de entrada de GMail

Conclusión

La verdad es que AJAX es técnicamente sorprendente pero, a menos que se utilice con cuidado, no ayuda mucho a la comunidad que trata de concienciar a los desarrolladores acerca del desarrollo de páginas accesibles. Habrá gente que lo utilice y trate de minimizar los posibles impactos en la usabilidad y accesibilidad, y habrá otros que pasen olímpicamente y degraden aún más sus sitios web.

servido por gigo 10 comentarios compártelo

10 comentarios · Escribe aquí tu comentario

Gonzalo

Gonzalo dijo

Coincido contigo. Los esfuerzos que se están haciendo para dar a conocer la accesibilidad web, pueden enterrarse debajo de esa "nueva tecnología" que es una maravilla y visualmente espectacular.
En el fondo me recuerda vagamente a flash.
Pero de todas formas, no niego su utilidad, a pesar de sus inconvenientes. Hay que tener en cuenta que esta filosofía de desarrollo tiene todavía pocos meses de vida, y se pueden conseguir unos resultados muchos mejores, y más accesibles, de lo que hay ahora.
Esto es la web, je je.

7 Octubre 2005 | 11:39 AM

Nilo

Nilo dijo

La primera NORMA de las aplicaciones Web 2.0 (entre ellas las que tiran de Ajax) es que DEBEN ser degradables. Si alguien (o algo) no tiene javascript habilitado, se va a encontrar con una página "a la antigua", recargando con cada acción.

No es una tecnología nueva, es una nueva implementación de una tecnología madura, pero poco conocida. Con ASP.NET y con MONO se pueden hacer también páginas de carga asíncrona.

La novedad de AJAX está precisamente en que no depende de tecnologías "no accesibles" y en que se puede desarrollar sobre CUALQUIER lenguaje de servidor (PHP, PYTHON, ASP, PERL, COLDFUSION...)

9 Octubre 2005 | 09:56 PM

Garbage In, Garbage Out

Garbage In, Garbage Out referenció

Google Reader

Ya había hablado de que Google está apostando fuerte por la tecnología ...

10 Octubre 2005 | 09:10 AM

Garbage In, Garbage Out

Garbage In, Garbage Out referenció

GMail: El correo de Google

... hay que recordar que no es la versión definitiva, es la versión beta de pruebas - es que, por un lado, al ser una aplicación AJAX, a veces el refresco de la página no funciona a la primera cuando se hace clic en la bandeja de entrada...

18 Octubre 2005 | 08:35 AM

Garbage In, Garbage Out

Garbage In, Garbage Out referenció

AJAX y los problemas de usabilidad

... como mi hermana o mi padre, creo que pueden perderse en estas aplicaciones en algunas ocasiones.

Ya lo dije en su día, AJAX es impresionante, pero crea problemas de accesibilidad y usabilidad que si el autor no es consciente de ellos y los soluciona...

11 Noviembre 2005 | 08:48 AM

roberto

roberto dijo

Una pregunta : ¿Se utiliza ajax por ejemplo para hacer lo que se hace aquí :

1. http://www.elnuevodiario.com.ni/caja.js

2. http://www.diarioti.com/inc/titulares.js

?

Estoy tratando de hacer lo mismo, pero hasta ahora no he podido. Si me puedes dar una respuesta te lo agradecería.

Salu2

8 Mayo 2006 | 05:22 PM

gigo

gigo dijo

No lo he mirado profundamente, pero eso es simplemente Javascript. Dinámicamente, dibuja elementos en la página mediante document.write().

9 Mayo 2006 | 01:44 PM

kguento

kguento dijo

Si, bueno la accesibilidad...pero quien no utiliza un
navegador sin soporte para javascript?.

Pero aparte de esto, yo creo que el punto fuerte de AJAX
el intercambio asíncrono de datos vía XML. El problema de las esperas de carga es derivado del protocolo HTTP, que las tecnologías actuales intentan en cierto modo parchear.

Mientras se sigan utilizando protocolos tan limitados como HTTP, las tecnologías web van a seguir siguiendo parches que solucionan algunas para conseguir el objetivo final
de tener un aplicaciones de escritorio en el navegador .HTTP esta diseñado para la transferencia de hypertexto y punto, no da para más.

31 Mayo 2006 | 11:13 AM

gigo

gigo dijo

Es arriesgado salvar el problema de la accesibilidad escondiendolo bajo la alfombra: ¿"qué navegador no usa javascript"? Hay un usuario al que todo el mundo mima, Google, y este usuario no utiliza javascript.

No digo que AJAX sea malo sabiendo utilizarlo, porque hay casos concretos donde creo que es una maravilla (por ejemplo, en la carga de combos), pero estoy seguro que va a fastidiar gran parte de los logros que se han conseguido en el campo de la accesibilidad.

Para mí, lo ideal, sería perfeccionar el protocolo HTTP que, como dices, es muy limitado.

1 Junio 2006 | 09:36 AM

kguento

kguento dijo

el HTTP yo más que perfeccionarlo, me lo cargaba.Otro ejemplo de su tiranía, Web Services = versión cutre de CORBA que funciona sobre HTTP. (Cuando estoy de malas hasta mekgo en el XML, : P).

En cuanto a AJAX le falta, para mi gusto, madurar, y que se generalice el uso de pequeñas maravillas (en cuanto a lo que nos facilita la vida a los que picamos código) de
echo2 o gwt (Google Web Toolkit), porque los de Google más que apostar fuerte, hacen uso intensivo de AJAX.

12 Junio 2006 | 10:18 PM

Escribe tu comentario


Sobre mí

Avatar de gigo

Garbage In, Garbage Out

ver perfil »
contacto »
Desarrollador web con ganas de aprender y enseñar, porque aún queda mucho por aprender y por enseñar. Uso esta bitácora para hacer mis apuntes profesionales y de paso contribuir a ayudar a mis compañeros de, ésta, mi profesión. [guiño]

Sindicación

Fotos

gigo todavía no ha subido ninguna foto.

¡Anímale a hacerlo!

Buscar

suscríbete

Selecciona el agregador que utilices para suscribirte a este blog (también puedes obtener la URL de los feeds):

¿Qué es esto?

Crea tu blog gratis en La Coctelera