Si hay una palabra de moda últimamente en el mundillo (o submundo, que también vale) de la programación Web esta es sin duda AJAX. Se trata de un acrónimo que significa Asynchronous JavaScript And XML y sienta las bases de las nuevas aplicaciones dinámicas que no recargan la página, como por ejemplo GMail o MSN Earth (ahora Local Live) entre otras muchas.

Se basa en el uso de un objeto llamado XMLHttpRequest que como puedes imaginar sirve para hacer peticiones de documentos XML a través del protocolo HTTP y que apareció por primera vez en las bibliotecas XML de Microsoft (MSXML). Con este objeto se piden documentos XML que luego es posible manipular mediante código JavaScript desde dentro de una página y mostrar resultados dentro de capas (div) de la misma. Esto es lo básico pero da mucho de sí .

Aunque ahora parece que los chicos de Google han inventado la pólvora lo cierto es que el concepto original de esta tecnología fué creado por Microsoft (se llamaba Remote Scripting y he de confesar que a mi no me gustaba mucho en su día), el primer navegador en soportarlo fue, claro está, Internet Explorer y la primera aplicación de este tipo fué Outlook Web Access, para acceder a buzones Exchange.

Bien, sentados los antecedentes de la tecnología vamos a ver en unos cuantos "post" próximos cómo funciona AJAX y desarrollaremos un ejemplo práctico con ella que funcione no sólo en IE, sino en todos los navegadores.

Aunque ahora existen ya algunas bibliotecas de funciones especiales para AJAX en diversas plataformas de desarrollo nosotros, que somos unos machotes, vamos a hacerlo a pelo, es decir sólo con lo que trae el navegador y así aprenderemos bien el funcionamiento.

Por cierto en .NET la biblioteca AJAX más conocida es AJAX .NET. La verdad es que está muy bien pero se quedará en nada cuando aparezca el año que viene (se supone) la biblioteca AJAX de Microsoft llamada con el nombre clave Atlas. Yo ya he trabajado un poco con ella y he visto ejemplos más grandes en funcionamiento y os puedo asegurar que es una verdadera virguería: con soporte para espacios de nombres, herencia, servicios Web, controles ASP.NET, y muchas cosas que facilitan el trabajo. En la parte de cliente parece que estás trabajando en C# en lugar de en JavaScript. Lo malo que tiene es que las betas actuales apestan: muy mala documentación y además desfasada respecto a las biblitoecas, los ejemplos no funcionan, etc.. A ver si sacan una beta de verdad (esto son más bien alfas). Por cierto si has probado la beta de Microsoft Live (te lo recomiendo) puedes comprobar que los módulos que se "enganchan" al sistema usan por debajo Atlas. Si alguien está interesado que me lo diga y podemos hacer una mini-serie de "post" explicando cómo se crean estos módulos de "Live".

En fin, lo dicho, tras haber presentado AJAX mañana y los próximos días vamos a currarnos un ejemplo completo desde cero para ver cómo trabaja el asunto. ¡Mantente sintonizado a este blog!

Escrito por un humano, no por una IA