¿Qué es AJAX?
La característica fundamental de AJAX es permitir actualizar parte de una página con información que se encuentra en el servidor sin tener que refrescar completamente la página. De modo similar podemos enviar información al servidor.AJAX (JavaScript Asíncrono y XML) es un término nuevo para describir dos capacidades de los navegadores que han estado presentes por años, pero que habían sido ignoradas por muchos desarrolladore
s Web, hasta hace poco que surgieron aplicaciones como Gmail, Google suggest y Google Maps.
Las dos capacidades en cuestión son:
* La posibilidad de hacer peticiones al servidor sin tener que volver a cargar la página.
* La posibilidad de analizar y trabajar con documentos XML.
AJAX (Asynchronous Javascript and XML) traducido como indica el título, no es más que una forma de programar aplicaciones interactivas para web. Esta evolución de DHTML se la ha denominado Web 2.0. Para ello utiliza XHTML y CSS para formatear la información, DOM (Document Object Model) para interactuar y visualizar dinámicamente la información, se apoya en XML, XSTL para manipular la información mostrada, el objeto XMLHttpRequest (no estándar) y Javascript para actualizar los datos sin necesidad de refrescar la página, y para manipular todas esas tecnologías.
Según la wikipedia, Jesse J. Garret, fué el que desarrolló la idea original denominándola AJAX. El objeto XMLHttpRequest fue originariament
e inventado por Microsoft, usado desde internet explorer 5.0 como un objeto ActiveX, siendo accesible mediante Javascript. Mozilla en su versión 1.0 implementa el objeto compatible. DOM es una forma de representar documentos estructurados como modelos oriendos a objetos, estandarizado por W3C.
Esta forma de programar es una buena alternativa a Flash, siempre y cuando se mantengan las distancias. Flash además de tener el lenguaje ActionScript, y poder interactuar con objetos XML posee la faceta del diseño gráfico incorporado. La capacidad de impacto multimedia que ofrece Flash está muy lejos de conseguirse con AJAX. Existen Frameworks de código Javascript que permiten animar objetos, el uso de Drag and Drop, ordenar objetos, y muchas más operaciones que permiten unos efectos visuales muy atractivos y novedosos.
Google (por ejemplo Gmail) y Yahoo (por ejemplo Flickr), usan Ajax
El ejemplo más claro de ajax: que pueden encontrar está en Gmail, uno hace una acción con el browser, éste se encarga de solicitar los datos y realiza los cambios en la página sin necesidad de refrescar la página. Por ende el usuario cree que nunca se movió del sitio y la reacción es más natural, como un típico programa de escritorio. En el interín el browser mandó un pedido en XML, recibió una respuesta y la muestra en pantalla.
La dualidad en el desarrollo de interfaces web: ¿Ajax o Flash?¿Ajax o Flash?. Ésta es una de las muchas preguntas sin respuesta que casi cualquier desarrollador web se ha hecho durante el último año.
Argumentos a favor de ambas tecnologías (porque en ambos casos hablar de lenguaje o de entorno de desarrollo no es demasiado riguroso) los hay, y probablemente del mismo peso y defendidos con semejante vehemencia por las respectivas comunidades de desarrolladore
s. Pero en realidad, la discusión se puede simplificar en uno sólo: el uso de tecnologías propietarias, o abiertas, y es que el player o máquina virtual de Flash es algo cerrado, propiedad de Adobe, y el HTML dinámico basado en comunicaciones asíncronas depende de un objeto (XMLHTTPRequest) propiedad de Microsoft, aunque implementado por todos los navegadores modernos.
Evidentemente, la discusión es mucho más compleja, y en ella hay también una carga bastante fuerte de, llamémosles así, prejuicios históricos. Flash ha sido hasta hace muy poco tiempo una herramienta exclusiva para diseñadores y animadores, y si bien es cierto que con ella se han realizado algunas de las aberraciones más dolorosas para la vista que se recuerdan, no es menos cierto que también hay alguna que otra retina desprendida por el mal uso del HTML ("blink, blink").
Por eso, todos los argumentos que se puedan dar a favor de una u otra tecnología no son más que discusiones bizantinas que intentan obviar lo que debería ser la norma para cualquier desarrollador: utiliza la herramienta que mejor te pueda ayudar a resolver el problema concreto con el que te encuentres.
En cualquier caso, no estaría de más volver al vista atrás y recordar el porqué de la existencia de ambas tecnologías. En los albores de la historia moderna de Internet, allá por el 2000, se empezó a hacer patente la necesidad de superar las limitaciones intrínsecas al HTML, el lenguaje de descripción de páginas en el que se basó la web, y del modo de operación del protocolo de comunicaciones utilizado, basado en envíos de datos a un servidor remoto, y espera de la respuesta de éste para volver a presentar datos en el navegador del usuario.
En esos tiempos, había quien se ganaba las lentejas (como éste que les escribe) realizando animaciones en Javascript, un lenguaje de programación que permitía hacer maravillas visuales si se dedicaba un 80% del tiempo de desarrollo a luchar a brazo partido contra las diferentes implementacion
es del lenguaje y del acceso a los elementos de la página por los navegadores existentes, incluso por las distintas versiones de un mismo navegador.
Pero en eso llegó algo nuevo: Flash. Con Flash se podía hacer lo mismo que con HTML dinámico (esto es, la combinación de HTML y Javascript), sólo que de forma mucho más rápida y que funcionaba en todos los navegadores. Y aunque ya lo he dicho, quiero insistir en ello: de forma más rápida. Mucho más rápida.
Y pasó lo que tenía que pasar: todo el mundo, al menos el mundo que gustaba de los interfaces ricos, que gustaba de salirse del aburrimiento visual del HTML, giró la cabeza, abandonó el Javascript y se pasó a Flash. Y comenzaron a propagarse por la web los equivalentes a blink y a las marquesinas, sólo que ahora con más colorines, y a veces, incluso con sonido.
Y así estuvimos unos tres años largos, creciendo con cada nueva versión de Flash, y empezando a decir que podíamos llevar la experiencia de las aplicaciones de escritorio a la web, haciendo lo que el marketing de Macromedia llamaba RIAs. (Rich Internet Applications). Ésa era la luz hacia la que todos íbamos, el cielo que todos perseguíamos: las RIAs.
Pero de repente, Google sacó del arroyo al Javascript, e implementó todo el cliente de su sistema de correo electrónico utilizando ese lenguaje. Y alguien más llegó y decidió que había que ponerle un nombre al redescubrimien
to: AJAX (Asynchronous Javascript And XML). Y alguien más desarrolló un framework para simplificar el desarrollo en Javascript. Y alguien más llegó y decidió que esa forma de implementar los interfaces de las aplicaciones web era uno de los pilares maestros sobre las que se sustentaba lo que había comenzado a llamarse web 2.0.
Y de la noche a la mañana, los que llevaban años diciendo que Javascript no era un lenguaje de programación, se olvidaron de su poco gusto por la plataforma, y de lo poco que les gustaba que en los navegadores las cosas se movieran, o que se recargaran datos si eso se hacía en Flash, y comenzaron a loar las maravillas de AJAX.
Y ahora, nos pasamos los días de claro en claro y las noches de turbio en turbio discutiendo sobre qué es lo correcto, si implementar soluciones basadas en Flash o en XHTML con peticiones de datos asíncronas a servidor.
¿Lo correcto? ¿Cómo se puede saber qué es lo correcto? En primer lugar, conociendo las ventajas e inconvenientes de cada solución, sabiendo qué se puede y qué no se puede hacer y qué perspectivas de futuro inmediato hay. Veamos, pués, rápidamente, qué caracteriza a cada una de las dos tecnologías.
AJAX
Lo bueno:Basada en HTML, en realidad en XHTML, por lo que debería ser fácilmente estandarizable
.
Accesible. La integración de lectores de pantalla, las posibilidades de modificar el tamaño del texto por el usuario, etc siguen sin tener comparación en Flash. (Por aquí hay disidencia: ¿AJAX accesible? Si te lee Stevie Wonder se le caen las gafas de sol. La propuesta es quitarlo tanto de aquí como de Flash)
Integración con CSS. Es, por tanto, bastante sencillo separar datos de presentación, por lo que las aplicaciones son más escalables.
Ligereza. Se supone que una página con sólo HTML es más ligera que un front-end en flash, aunque en realidad el Javascript necesario para funcionar no es tan ligero, por lo que finalmente se depende de mecanismos de caché en servidor.
Javascript. Lenguaje interpretado en el navegador, sencillo, orientado a objetos (según a quién se le pregunte), especialmente orientado a manipular el DOM de las páginas.
Motores de búsqueda. Al basar los interfaces en HTML, son fácilmente indexados por los motores de búsqueda. Siempre y cuando su contenido no sea producto de una petición de datos a servidor, claro está.
Diez razones para usar AJAX
1. Basado en los estándares abiertos
2. Usabilidad
3. Válido en cualquier plataforma y navegador
4. Beneficia las aplicaciones web
5. No es dificil su utilización
6. Compatible con Flash
7. Adoptado por los "gordos" de la tecnología web
8. Web 2.0
9. Es independiente del tipo de tecnología de servidor que se utilice
10. Mejora la estetica de la web
1. Basado en los estándares abiertos
Ajax esta formado por las tecnologias Javascript, html, xml, css, y XML HTTP Request Object, siendo este último el unico que "no es" estandar pero es soportado por los navegadores mas utilizados de internet como son los basados en mozilla, internet explorer, safari y opera.
2. Usabilidad
Permite a las páginas hacer una pequeña petición de datos al servidor y recibirla sin necesidad de cargarla página entera. El incremento de las actualizacione
s "on the fly" elimina el tener que refrescar el navegador, algo bastante apreciado a la hora de operar en una aplicación web.
3. Válido en cualquier plataforma y navegador
Internet explorer, los basados en mozilla y firefox son los que se llevan la palma en el mercado de internet y además son los navegadores en los que es mas fácil programar aplicaciones Web AJAX, pero ahora es posible construir aplicaciones web basadas en AJAX para que funcionen en los navegadores mas modernos. Es una de las razonas mas importantes por las que AJAX se ha vuelto tan popular. Aunque si bien muchos desarrolladore
s sabían que era posible usarse años atrás con Internet Explorer, no era viable realizarse. Ahora ya es posible su avance gracias a Mozilla y Firefox.
4. Beneficia las aplicaciones web
AJAX es la cara del presente en las aplicaciones web - las aplicaciones web conllevan ciertos beneficios sobre las aplicaciones sobre escritorio (apliaciones que dependan de un sistema operativo, librerias, lo que entendemos por programas compilados). Esto incluyo un menor coste de creación, facilidad de soporte y mantenimiento, menores tiempos a la hora de desarrollarlas, y sin necesidad de instalaciones; éstas son algunas de los beneficios que han llevado a las empresas y usuarios el adoptar aplicaciones web desde mediados de los 90. AJAX solo ayudará a las aplicaciones web a mejorar y conseguir un mejor resultado de cara al usuario final.
5. No es dificil su utilización
Porque AJAX esta basada en los estándares que han sido utilizados durante muchos años, muchos desarrolladore
s web han tenido que utilizar las tecnologías que las aplicaciones AJAX requieren. Ésto significa que no es un gran esfuerzo el aprendizaje de los desarrolladore
s el pasar de un simple código HTML y aplicaciones web a una potente apliación AJAX. Tambié significa que los desarrolladore
s puedes actualizar poco a poco las interfaces de usuario hacia unas interfaces con AJAX; no necesita una re-escritura de la aplicación entera, se puede hacer incrementalmen
te.
6. Compatible con Flash
Muchos desarrolladore
s tienen serias dudas sobre usar Flash o AJAX. Definitivament
e hay ventajas y desventajas en ambas tecnologías según la situación que se de pero también hay muchas posibilidades y muy buenas para que amabas funcionen en conjunto.
7. Adoptado por los "gordos" de la tecnología web
La difusión de AJAX en los líderes de la industria de internet prueba que el mercado acepta y valida el uso de esta tecnología. Todo el mundo esta migrando hacia AJAX incluyendo Google, Yahoo, Amazon, Microsoft (por nombrar unas pocos). Google Maps fue lo que captó la atenció de los desarrolladore
s web. Cuando empezaron a investigar como google era capaz de llevar esa increible herramienta dentro de un navegador sin necesidad de ningún tipo de plug-in, encontraron que AJAX estaba detrás del tema.
8. Web 2.0
El movimiento Web 2.0 está cada vez mas en auje y dando quebraderos de cabeza de muchos programadores, usuarios, y vendedores. Esto esta ayudando la adopción de AJAX. Las interfaces de AJAX son un componente clave de muchas de las aplicaciones Web 2.0, como puede ser BackPack (un organizador de disco online en entorno Web) y Google Maps. Afortunadament
e gracias bombo que se le esta dando, acelerará la adopción de AJAX y la los beneficios de su uso lo mantendrá en escena. Una de las claves principales de Web 2.0 es el usar la red como plataforma para el desarrollo de aplicaciones, en vez de simples páginas web. Siendo importante la iteracción de los usuarios con la apliación en sí.
9. Es independiente del tipo de tecnología de servidor que se utilice
Así como AJAX funciona en cualquier navegador, es perfectamente compatible con cualquier tipo de servidor estándar y lenguage de programación Web. PHP, ASP. ASP.Net, Perl, JSP, Cold Fusion. El ser completamente compatible el desarrollo en éstas tecnologías ha ayudado a AJAX a que vaya cada vez mas en auge.
10. Mejora la estetica de la web
Con AJAX se puede interactuar la imaginación del desarrollador con la usabilidad de una apliación web de forma que se pueda realizar una aplicación que si no estuviera dentro de un navegador, podría pasar por una aplicacion normal de escrotorio.
Lo malo:El usuario puede haber deshabilitado el Javascript en el navegador.
Se depende de un objeto propiedad de Microsoft para las comunicaciones asíncronas. Lo malo de esto no es que ese objeto sea propiedad de Microsoft o de cualquier otro, sino que es propiedad de alguien.
No es tan ligero como parece a primera vista.
Burdo. Por mucho que se intente, el resultado final no es comparable al de una web en Flash.
AJAX, YAEste es el nombre de un estupendo tutorial en línea, que se suma a los publicados anteriormente: HTML Ya, JavaScript Ya, CSS Ya, DHTML Ya y PHP Ya.
Como el resto de tutoriales, está compuesto de una serie de capítulos (en este caso, sólo 25), cada uno de los cuales se divide en tres partes: la teórica, un ejercicio práctico resuelto y otro que tú debes resolver.
Claro y al grano. Si quieres familiarizarte con los métodos y objetos de esta moderna tecnología que permite explotar al máximo la interactividad de las páginas web, este manual puede resultarte de mucha utilidad.
http://www.ajaxya.com.ar/
TUTORIALES:
TUTORIALESprimeros pasos: http://developer.mozilla.org/es/docs/AJAX:Primeros_Pasos
mas tutorial: http://www.cristalab.com/tutoriales/162/tutorial-de-ajax
otra pagina de donde saco algo de comentarios:http://mosaic.uoc.edu/articulos/ctardaguila0706.html
este post esta echo con el motivo de ver este nuevo lenguaje en el cual unos cuantos users estan interesados,y todo fue sacado de google
recomiendo este enlace para aprender Ajax:http://www.programacionweb.net/cursos/curso.php?num=2
Pero antes recomiendo, antes de iniciarte en Ajax, aprender todo lo que puedas acerca de javascript:http://jennifermadden.com/
bue espero aclarar sus dudas¡
salu2s dermord¡¡