¿Qué significa AJAX?
Si bien mucha gente ha escuchado alguna vez en su período como programador web la palabra AJAX pocos saben que significa. Ajax es el acrónimo de Asynchronous Javascript And XML es decir, Javascript asíncrono y XML.
Según la RAE la definición de asíncrono es:
«Se dice del proceso o del efecto que no ocurre en completa correspondencia temporal con otro proceso u otra causa.»
Es decir mientras trabajemos con ajax, Javascript no cargará ciertas informaciones cuando se carga la página principal sino cuando sean requeridas (Javascript asíncrono)
Pero, ¿Qué es realmente AJAX?
Como su propio nombre indica AJAX no es una sola tecnología sino que es la unión de muchas tecnologías muy populares que trabajan de forma conjunta logrando un potencial realmente increíble en una página web.
Las tecnologías que intervienen en AJAX son:
- Javascript
- HTML
- XML
- CSS
- PHP
- ASP
No todas son necesarias para el desarrollo óptimo de nuestra aplicación con AJAX pero si se recomienda su conocimiento.
Las más utilizadas son: Javascript, HTML, PHP y CSS, para estructuras de datos grandes se usa mucho XML.
¿Cómo funciona?
Quizá podamos simplificar la explicación imaginando iframes. El uso de iframes nació como una buena alternativa (ya prácticamente obsoleta) de mantener una sección de la página estática y solo recargar el resto.
Un ejemplo muy clásico es el menú de una web en un iframe y en otro iframe la web en sí.
Como ya he dicho esta práctica está casi obsoleta, pero AJAX tiene un concepto similar.
Con AJAX tenemos la posibilidad de consultar/mostrar/enviar datos sin necesidad de recargar la página por completo y en «background».
Un ejemplo simple puede ser el envío de un comentario.
En vez de actualizar por completo la página ejecutamos un script que nos envíe «de fondo» el comentario y a la vez lo cargue en nuestra página para su visualización.
Hay ciertas ventajas, así como desventajas.
Entre las ventajas podemos encontrar:
- Mayor velocidad en la carga de la página: Siguiendo el ejemplo anterior, al no tener que cargar la página por completo al enviar el mensaje el tiempo de carga disminuye bastante.
- Menos transferencia de datos en el servidor: Por el mismo motivo que nuestra web nos ofrece mayor velocidad, también nos ofrece una transferencia de datos menor a la correspondiente sin dicha tecnología.
Entre las desventajas podemos encontrar:
- Pérdida del concepto «atras»: Con esta tecnología el concepto de atrás se pierde, depende donde apliquemos AJAX ésta no nos afectará.
- Marcadores indirectos: Ésta se produce en páginas completamente con AJAX como podria ser Gmail. Al crear un marcador, por ejemplo, en el correo 23 y abrir dicho marcador, este nos lleva a la página principal de Gmail y no a dicho mensaje.
¿Quién usa AJAX?
Hay muchas empresas que a día de hoy usan AJAX, algunas de ellas pueden ser:
- Google (Orkut, Gmail, Google Groups, Google Map, Google Suggest)
- Flickr (algunas funciones)
- Amazon (motor de búsqueda)