Resulta especialmente interesante entre los requisitos tener claro que la principal potencia que ofrecen las hojas de estilo es la de separar el contenido de la presentación, es decir, en cierto sentido separar al diseñador del creador puesto que Ajax constituye sencillamente un paso más en esa dirección.
Aunque no sea lo normal voy a empezar por decir lo que no es Ajax, Ajax no es una tecnología nueva ni un nuevo lenguaje y aunque si es un equipo de futbol no es de eso de lo que vamos a hablar ;P.
Ajax suele utilizarse para denominar a la unión de varias tecnologías ya existentes Javascript asincrono y XML (Asincronus Javascript XML) aunque representa más bien un principio, una forma de construir webs.
Si comparamos los sitios tradicionales con algún sitio web que use Ajax podremos ver la diferencia casi directamente. Un ejemplo muy concreto es gmail el servicio de correo de google y otro google maps. La diferencia entre estos sitios Ajax y los sitios tradicionales consiste fundamentalmente en la experiencia del usuario.
Un sitio tradicional sigue el esquema, presentación, carga, presentación, es decir, accedes a una página que te presenta un cierto contenido, pulsas sobre un link y tras un periodo de carga se presenta otra página con otro contenido.
Una página Ajax se basa en la idea de peticiones asincronas de contenido al servidor y a la actualización de la parte de la página que necesita ser actualizada. Si examinamos la página de google maps podemos ver la diferencia que esto supone. No ocurren los típicos momentos de recarga de la página, podemos mover el mapa o hacer zoom y google nos enviará tan solo la información necesaria de forma que, aunque el periodo de carga sigue estando ahí, para el usuario el entorno es mucho más interactivo.
Así, la diferencia fundamental entre los sitios tradicionales y los sitios basados en Ajax es la experiencia del usuario, la visión que el usuario recoje del sitio.
Por la parte que el usuario no ve, es decir la parte del código, hay una serie de peticiones al servidor que actualizan tan solo aquella parte de la página necesaria. Para ello hay un flujo de información entre el servidor y el cliente. En una página web tradicional esto significa una petición al servidor Apache (o Iss o cualquier servidor de páginas) que ejecutará un código php (o ASP) en el servidor y computará un resultado como HTML que será lo que se mande al cliente. En las aplicaciones Ajax, ocurre algo parecido pero los datos consisten en gran medida en código Javascript que será ejecutado por el cliente. Cuando una parte de la página requiere actualización (por ejemplo traerse una parte del mapa en google maps o mostrar el contenido del inbox en gmail) se realiza una petición asincrona al servidor que prepara la información solicitada y la devuelve en un xml, el cliente recibe ese xml, lo interpreta y lo presenta a el usuario.
Por supuesto el tiempo de carga sigue presente pero enmascarado y amortiguado por dos razones fundamentalmente: