¿Qué es Ajax?

2008 Julio 17
by Overclock_Orange

AJAX es una técnica de de desarrollo WEB, por la cual se pueden crear aplicaciones WEB más rápidas y cómodas para el usuario. Por medio de esta técnica el cliente puede interactuar con el servidor de manera asincrónica, actualizando las páginas, sin necesidad de volver a cargarlas.

Esta técnica, no solo es más cómoda y amigable para el usuario (ya que se asemeja a las aplicaciones de escritorio) sino que además es más rápida, porque cada vez que se necesita actualizar un dato en una página, no es necesario recargarla nuevamente (solo se recarga la sección necesaria de la misma).

AJAX, no es una tecnología en si, sino que es un conjunto de tecnologías aplicadas de manera que logran el resultado explicado anteriormente (es decir, logran AJAX).

AJAX significa Asynchronous JavaScript And XML, y como su nombre lo indica, se trata de la combinación de JavaScript y XML. JavaScript hace las peticiones al servidor, el mismo le devuelve un resultado (response) en XML, y este es procesado por JavaScript para actualizar los datos de la página, sin tener que recargarla por completo (logrando así una interacción asincrónica entre el servidor y el cliente).

NOTA: esto no es del todo cierto. Ya que se puede lograr AJAX, sin JavaScript y sin XML, reemplazando a JavaScript por otra tecnología client-side y a XML por JSON por ejemplo.

Para poder utilizar AJAX, con saber un poco de JavaScript y XML es suficiente. Pero si se quiere explotar AJAX al máximo, es necesario saber otras cosas como XHTML, CSS, XSLT, DOM, JSON, etc.

Para entender como funciona AJAX, primero vamos a hacer un sintético repaso de como funcionan las aplicaciones web “tradicionales”.

  1. El cliente le hace una petición (request) HTTP al servidor WEB (generalmente por medio de un navegador WEB).
  2. El servidor WEB, procesa la petición dinámicamente. Por medio de un lenguaje de lado de servidor (como PHP o Perl).
  3. Una vez procesada la petición HTTP por el servidor WEB, este le devuelve una respuesta en HTML al cliente (lo que se conoce como “página WEB”).
  4. Por medio de esa página generalmente el ciclo vuelve a empezar, ya que el cliente puede hacer otras peticiones HTTP al servidor, que a su vez van a ser procesadas y el servidor WEB va a devolver otros resultados HTML, etc. Por otra parte, del lado del cliente, existen los lenguajes de script, que están embebidos en la página HTML. Por ejemplo, JavaScript, es el lenguaje de script que soportan la mayoría de los navegadores (hay otras tecnologías client-side que pueden utilizarse, como VBScript o JScript, pero hay que recordar que JavaScript fue adoptado como estándar en la ECMA y es soportado por prácticamente todos los navegadores).

En fin, así es como funciona una aplicación WEB sin AJAX, ahora vamos ver como funcionan con AJAX.

Con AJAX, cuando el cliente hace una petición HTTP al servidor, la hace por medio de JavaScript. El servidor procesa la petición y en vez de devolverle al cliente una página HTML, le devuelve un resultado en XML (no necesariamente, ya que también podría ser un resultado en JSON), que es procesado por JavaScript, y este actualiza solo las secciones de la página necesarias (sin tener que cargar una nueva página).

  1. El cliente por medio del navegador hace produce algún evento. Este evento es procesado por JavaScript (o alguna otra tecnología client-side) y le envía al servidor WEB una petición HTTP.
  2. El servidor WEB, procesa la petición como siempre, pero devolviendo el resultado en XML.
  3. Este resultado es procesado por JavaScript. Que recarga las secciones de la página necesarias para mostrar el resultado al usuario.
  4. Por medio de esta misma página, el ciclo comienza de nuevo. Sin haberse tenido que recargar la página.

Ajax

Los pro y los contras de AJAX

Ventajas

  • Las páginas no se recargan constantemente.
  • El tiempo de espera es menor.
  • Se pueden lograr cosas que sin AJAX definitivamente no se podrían hacer, como el conocido Google Maps por ejemplo.

Desventajas

  • Falta de integración con el botón “retroceder” de los navegadores. Esto se debe a que siempre estamos en la misma página (no la recargamos). Y algunas veces puede llegar a confundir al usuario.
  • Es necesario que el navegador soporte y tenga habilitado JavaScript. No es una gran desventaja, ya que casi todos los navegadores modernos soportan JavaScript.
  • Al tener que ejecutar más código del lado del cliente, puede enlentecerse el rendimiento de la máquina del cliente. Por eso debe usarse AJAX con moderación.
  • Al no recargar las páginas, y siempre estar en la misma, no se tiene una URL a la cual poder referirse, en caso de querer recomendar la página, o volver a esa página. Por eso debe saberse cuando usar AJAX y cuando no.

Como podemos ver, tiene sus pro y sus contras como todo. Y se trata de saber cuando utilizarlo y cuando no.

Fuente: http://sherekan.com.ar/blog/2008/04/19/introduccion-a-ajax/

No comments yet

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscripción al comentario vía RSS