¿Qué es Ajax?
1 voto

¿Qué es Ajax?

En Techlosofy siempre hablamos de aplicaciones Web y en algunas ocasiones mencionamos algo llamado “Ajax”, pero algunos lo confundirán con una marca de detergente, pero no lo es o por lo menos en la parte de desarrollo Web no.

ajax-que-es

Antes de entrar ha hablar sobre AJAX se definirá en primera instancia ¿Qué es?, y ¿Para qué sirve?. AJAX es la unión de varias tecnologías de desarrollo Web que buscan crear aplicaciones interactivas.

AJAX por sus siglas en ingles significa Asynchronous JavaScript And XML (JavaScript asíncrono y XML) y la importancia de ésta técnica está en que al utilizarla, ésta se ejecuta en el lado del cliente – es decir el navegador Web-, pero por debajo mantiene una comunicación asíncrona con el servidor.

Con ésta asincronía utilizando XML, cuando se desee hacer algún cambio en el desarrollo Web, no será necesario que la página se recargue nuevamente; lo que en últimas se traduce en aplicaciones mucho más interactivas, rápidas y veloces y eficientes.

A continuación una gráfica que ilustrará mejor el modelos de aplicación Web básico, comparado con el modelo de “moda” AJAX.

clip_image002

clip_image001[5]

Como se aprecia en la Gráfica 1 –lado izquierdo-, se ve que mientras el servidor esta haciendo lo suyo, el usuario está esperando a que se cargue nuevamente la página. Quizás a muchos nos ha pasado que cuando vamos a llenar un formulario tenemos pasar por varias páginas, como si estuviésemos siguiendo varias ventanas. Con AJAX esto se soluciona, porque en una misma página podemos hacer varias cosas, sin tener que saltar a otra “pagina Web”.

Con AJAX la interacción que tiene el usuario con alguna aplicación se mejora porque no tendrá que saltar de página en página para hacer alguna tarea específica, así como también se mejora que el usuario no se detenga cuando cierta aplicación necesite algo del servidor.

AJAX se basa en el modelo de aplicación Web asíncrona y se ilustrará mejor con un gráfico:

clip_image002[5]

clip_image003

En la Gráfica 2, 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.

Ésta técnica se hizo popular, gracias a que Google la implementara en su aplicación Web, Google Suggest, pero ésta no se limita ahí, pues la compañía de Sergey Brin y Larry Page ha venido implementando últimamente AJAX en otras aplicaciones Web como Orkut, Gmail, la última versión de Google Groups, y Google Maps.

AJAX se basa en la combinación de 4 tecnologías existentes, entre las que están:

- JavaScript: es un lenguaje interpretado, es decir, que no requiere compilación, utilizado principalmente en páginas Web, con una sintaxis semejante a la del lenguaje Java y el lenguaje C

- XML: es un metalenguaje extensible de etiquetas desarrollado por el World Wide Web Consortium (W3C). Es una simplificación y adaptación del SGML y permite definir la gramática de lenguajes específicos (de la misma manera que HTML es a su vez un lenguaje definido por SGML). Por lo tanto XML no es realmente un lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades.

- HTML: Es un lenguaje de marcación diseñado para estructurar textos y presentarlos en forma de hipertexto, que es el formato estándar de las páginas Web.

- CSS: son un lenguaje formal usado para definir la presentación de un documento estructurado escrito en HTML o XML (y por extensión en XHTML). El W3C (World Wide Web Consortium) es el encargado de formular la especificación de las hojas de estilo que servirá de estándar para los agentes de usuario o navegadores.

Todas las anteriores soportadas por algunos Browsers (Navegadores Web) como Mozilla Firefox, Internet Explorer, entre otros.

Para comunicar la aplicación Web con el servidor, AJAX se vale del objeto JavaScript XMLHttpRequest, objeto con el cual una gran parte de los navegadores pueden recuperar y enviar datos en XML directamente, en background.

En conclusión cabe anotar que AJAX no es una tecnología, sino una combinación de varias de tecnologías y técnicas, y tampoco se le puede confundir con un lenguaje de programación.

Mirando hacia un futuro los desafíos en cuanto a programación son para los diseñadores de las aplicaciones Web y por ende es el deber de éstos olvidar que existen limitaciones en la Web, cambiando la percepción e imaginando una Web con muchas posibilidades de desarrollo de aplicaciones, más interactivas, veloces, e innovadoras.

Deja tu comentario

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>