¿Qué es ajax ?
Ajax no es una tecnología , quiero que esto quede claro. El termino Ajax fué acuñado por Jesse James Garrett en un artículo publicado en adaptive path . Se llama ajax a la unión de ciertas tecnologías ya existentes que por su “carrera” han llegado a donde estan. Estas son :
- Estandares XHTML,CSS para la presentación de información.
- Representación dinamica e interacción mediante el DOM.
- Interacción con la información mediante XML y XSLT.
- Comuniciación asicrona mediante XMLHttpRequest.
- Javascript uniendo las anteriormente citadas.
Es por esto que ajax no supone aprender un nuevo leguaje ni nada similar. El funcionamiento es el mismo que las aplicaciones sincronas, pero con la incorporación de XMLHttpRequest aportamos “asicronía” al manejo de información.
A modo de introducción paso a citar unas líneas brevemente:
“Dejando de lado esto, los diseñadores de interacción Web no pueden evitar sentirse envidiosos de nuestros colegas que crean software de escritorio. Las aplicaciones de escritorio tienen una riqueza y respuesta que parecía fuera del alcance en Internet. La misma simplicidad que ha permitido la rápida proliferación de la Web también crea una brecha entre las experiencias que podemos proveer y las experiencias que los usuarios pueden lograr de las aplicaciones de escritorio.”
Aplicaciones Asíncronas… ¿qué es eso ?
Una aplicación asincrona es aquella en la que podemos pedir, guardar, editar o eliminar información del servidor ante cualquier evento del usuario sin que sea necesario recargar la página del mismo.
Ejemplo:
Con ajax podemos hacer que cuando un usuario pase con el raton por encima de una zona de la página ejecutemos un código php que le muestre cierta información que estaba almacenada en una base de datos.
De buenas a primeras esto os paracerá una tontería pero realmente romper con la sincronía que supone la recarga de una nueva página para poder ejecutar cualquier código nos aporta una herramienta poderosisima.
Comunicación síncrona vs. Asíncrona
En el desarrollo clásico tanto de aplicaciones como sitios web la comunicación con el
usuario es síncrona respecto de las interacciones del usuario, es decir:
- El usuario realiza una peticioón al servidor.
- El servidor envía la página solicitada.
- El usuario comienza a “leer” la página.
- Llega un momento dado en el cual el usuario desea cambiar de página y mediante formularios o links realiza una petición al servidor volviendo al paso número 1.
En cambio la comunicación asíncrona no implica sincronismo ante los eventos del usuario, sino que ante cualquier evento del usuario nosotros podemos proceder en consecuencia, es decir:
- El usuario realiza una petición al servidor
- El servidor envía la página solicitada
- El usuario comienza a “leer” la página
- Llega un momento dado en el cual el usuario quiere cambiar de página o alterar la información que contiene la misma. En ese momento dado la aplicación teniendo definidos los eventos posibles actúa en consecuencia a la interacción que haya podido suceder. Entonces podremos cambiar al usuario de página, o por el contrario modificar la misma para satisfacer al usuario.
Estos cambios no implican cambiar de página.
El articulo de Jesse James incluye varias imágenes que hace más fácil la comprensión
de esta comunicación asíncrona.
- Jesse James Garrett (wikipedia.org) is an information architect and founder of Adaptive Path, an information architecture and userexperience firm. His work is widely known among information architects, who commonly refer to him simply as jjg
- XMLHttprequest (wikipedia.org) The object was originally invented by Microsoft, used since Internet Explorer 5.0 as an ActiveX object, which is hence accessible via JavaScript, VBScript, or other scripting languages supported by the browser. Mozilla contributorsthen implemented a compatible native version in Mozilla 1.0. This was later followed by Apple since Safari 1.2 and Opera Software since Opera 8.0.
- DOM (wikipedia.org) Document Object Model (DOM) is a form of representation of structured documents as an object-oriented model. DOM is the official World Wide Web Consortium (W3C) standard for representing structured documents in a platform- and language-neutral manner. The DOM is also the basis for a wide range of application programming interfaces, some of which are standardized by the W3C.








