Sie sind auf Seite 1von 4

AJAX

AJAX, acrnimo de Asynchronous JavaScript And XML (JavaScript asncrono


y XML), es una tcnica de desarrollo web para crear aplicaciones interactivas
o RIA (Rich Internet Applications). Estas aplicaciones se ejecutan en el cliente, es
decir, en el navegador de los usuarios mientras se mantiene la
comunicacin asncrona con el servidor en segundo plano. De esta forma es
posible realizar cambios sobre las pginas sin necesidad de recargarlas,
mejorando la interactividad, velocidad y usabilidad en las aplicaciones.
Ajax es una tecnologa asncrona, en el sentido de que los datos adicionales se
solicitan al servidor y se cargan en segundo plano sin interferir con la visualizacin
ni el comportamiento de la pgina. JavaScript es el lenguaje interpretado (scripting
language) en el que normalmente se efectan las funciones de llamada de Ajax
mientras que el acceso a los datos se realiza mediante XMLHttpRequest, objeto
disponible en los navegadores actuales. En cualquier caso, no es necesario que el
contenido asncrono est formateado en XML.
Ajax es una tcnica vlida para mltiples plataformas y utilizable en muchos
sistemas operativos y navegadores dado que est basado en estndares abiertos
como JavaScript yDocument Object Model (DOM).

Tecnologas incluidas en Ajax
Ajax es una combinacin de cuatro tecnologas ya existentes:
XHTML (o HTML) y hojas de estilos en cascada (CSS) para el diseo que
acompaa a la informacin.
Document Object Model (DOM) accedido con un lenguaje de scripting por
parte del usuario, especialmente
implementaciones ECMAScript como JavaScript y JScript, para mostrar e
interactuar dinmicamente con la informacin presentada.
El objeto XMLHttpRequest para intercambiar datos de forma asncrona con el
servidor web. En algunos frameworks y en algunas situaciones concretas, se
usa un objeto iframeen lugar del XMLHttpRequest para realizar dichos
intercambios. PHP es un lenguaje de programacin de uso general de script
del lado del servidor originalmente diseado para el desarrollo web de
contenido dinmico tambin utilizado en el mtodo Ajax.
XML es el formato usado generalmente para la transferencia de datos
solicitados al servidor, aunque cualquier formato puede funcionar, incluyendo
HTML preformateado, texto plano, JSON y hasta EBML.
Como el DHTML, LAMP o SPA, Ajax no constituye una tecnologa en s, sino que
es un trmino que engloba a un grupo de stas que trabajan conjuntamente.

Frameworks y libreras
Las aplicaciones web son cada vez ms complejas, ya que incluyen efectos e
interacciones que hasta hace poco tiempo eran exclusivas de las aplicaciones de
escritorio. Al mismo tiempo, la programacin de estas aplicaciones avanzadas se
complica por varios motivos.
En primer lugar, las aplicaciones comerciales deben funcionar correctamente e
igual de bien en al menos cinco navegadores diferentes: Internet Explorer 6 y 7,
Firefox, Opera y Safari. En segundo lugar, el tiempo disponible para el desarrollo
de cada nueva caracterstica se reduce cada vez ms por la necesidad continua
de incluir novedades en las aplicaciones antes de que las incluya la competencia.
Por todo lo anterior, han surgido libreras y frameworks especficos para el
desarrollo de aplicaciones con JavaScript. Utilizando estas libreras, se reduce el
tiempo de desarrollo y se tiene la seguridad de que las aplicaciones funcionan
igual de bien en cualquiera de los navegadores ms populares.
Aunque se han publicado decenas de libreras y frameworks, a continuacin se
van a mostrar las dos ms populares: Prototype (junto con script.aculo.us) y
jQuery.
Script.aculo.us es una de las muchas libreras que han surgido para facilitar el
desarrollo de aplicaciones JavaScript y que estn basadas en Prototype. El autor
original de la librera es Thomas Fuchs, aunque actualmente recibe contribuciones
de numerosos programadores, ya que la librera se distribuye de forma
completamente gratuita y dispone de una buena documentacin.
La librera est dividida en varios mdulos:
Efectos: permite aadir de forma muy sencilla efectos especiales a cualquier
elemento de la pgina. La librera incluye una serie de efectos bsicos y otros
efectos complejos construidos con la combinacin de esos efectos bsicos.
Entre los efectos prediseados se encuentran el parpadeo, movimiento
rpido, aparecer/desaparecer, aumentar/disminuir de tamao, desplegarse,
etc.
Controles: define varios controles que se pueden aadir directamente a
cualquier aplicacin web. Los tres controles que forman este mdulo son:
"arrastrar y soltar", que permite definir los elementos que se pueden arrastrar
y las zonas en las que se pueden soltar elementos; "autocompletar", que
permite definir un cuadro de texto en el que los valores que se escriben se
autocompletan con ayuda del servidor; editor de contenidos, que permite
modificar los contenidos de cualquier pgina web aadiendo un sencillo editor
AJAX en cada elemento.
Utilidades: la utilidad principal que incluye se llama builder, que se utiliza para
crear fcilmente nodos y fragmentos complejos de DOM.
La documentacin de script.aculo.us es muy completa e incluye muchos ejemplos,
por lo que a continuacin slo se muestra el uso de uno de sus componentes ms
populares. En uno de los ejercicios anteriores, se realizaba un ejemplo de
autocompletar el texto introducido por el usuario. El cdigo completo del ejercicio
ocupa ms de 140 lneas.
El siguiente cdigo hace uso de script.aculo.us para conseguir el mismo resultado
con un 90% menos de lneas de cdigo:

window.onload = function()
{
// Crear elemento de tipo <div> para mostrar las sugerencias del servidor
var elDiv = Builder.node('div', {id:'sugerencias'});
document.body.appendChild(elDiv);

new Ajax.Autocompleter('municipio', 'sugerencias',
'http://localhost/autocompletaMunicipios.php?modo=ul',
{paramName: 'municipio'}
);
}
La librera jQuery
jQuery es la librera JavaScript que ha irrumpido con ms fuerza como alternativa
a Prototype. Su autor original es John Resig, aunque como sucede con todas las
libreras exitosas, actualmente recibe contribuciones de decenas de
programadores. jQuery tambin ha sido programada de forma muy eficiente y su
versin comprimida apenas ocupa 20 KB.
jQuery comparte con Prototype muchas ideas e incluso dispone de funciones con
el mismo nombre. Sin embargo, su diseo interno tiene algunas diferencias
drsticas respecto a Prototype, sobre todo el"encadenamiento" de llamadas a
mtodos.
La documentacin de jQuery es muy completa en ingls e incluye muchos
ejemplos. Adems, tambin existen algunos recursos tiles en espaol para
aprender su funcionamiento bsico.

Das könnte Ihnen auch gefallen