04
Videotutoriales de AJAX en Gigasize un Links


AJAX, acrónimo de Asynchronous JavaScript And XML (JavaScript y XML asÃncronos), es una técnica de desarrollo web para crear aplicaciones interactivas. Éstas se ejecutan en el cliente, es decir, en el navegador del usuario, y mantiene comunicación asÃncrona con el servidor en segundo plano. De esta forma, es posible realizar cambios sobre la misma página sin necesidad de recargarla. Esto significa aumentar la interactividad, velocidad y usabilidad en la misma.
AJAX es una combinación de tres tecnologÃas ya existentes:
* XHTML (o HTML) y hojas de estilos en cascada (CSS) para el diseño que acompaña a la información.
* 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 dinámicamente con la información presentada.
* El objeto XMLHttpRequest para intercambiar datos asincrónicamente con el servidor web. En algunos frameworks y en algunas situaciones concretas, se usa un objeto iframe en lugar del XMLHttpRequest para realizar dichos intercambios.
* XML es el formato usado comunmente para la transferencia de vuelta 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 tecnologÃa en sÃ, sino que es un término que engloba a un grupo de éstas que trabajan conjuntamente.
Historia
A pesar de que el término "Ajax" fuese creado en 2005, la historia de las tecnologÃas que permiten Ajax se remonta a una década antes con la iniciativa de Microsoft en el desarrollo de Scripting Remoto. Sin embargo, las técnicas para la carga asÃncrona de contenidos en una página existente sin requerir recarga completa remontan al tiempo del elemento iframe (introducido en Internet Explorer 3 en 1996) y el tipo de elemento layer (introducido en Netscape 4 en 1997, abandonado durante las primeras etapas de desarrollo de Mozilla).
Ambos tipos de elemento tenÃan el atributo src que podÃa tomar cualquier dirección URL externa, y cargando una página que contenga javascript que manipule la página paterna, pueden lograrse efectos parecidos al Ajax.
El Microsoft’s Remote Scripting (o MSRS, introducido en 1998) resultó un sustituto más elegante para estas técnicas, con envÃo de datos a través de un applet Java el cual se puede comunicar con el cliente usando JavaScript. Esta técnica funcionó en ambos navegadores, Internet Explorer versión 4 y Netscape Navigator versión 4. Microsoft la utilizó en el Outlook Web Access provisto con la versión 2000 de Microsoft Exchange Server.
La comunidad de desarrolladores web, primero colaborando por medio del grupo de noticias microsoft.public.scripting.remote y después usando blogs, desarrollaron una gama de técnicas de scripting remoto para conseguir los mismos resultados en diferente navegadores. Los primeros ejemplos incluyen la librerÃa JSRS en el 2000, la introducción a la técnica imagen/cookie en el mismo año y la técnica JavaScript on Demand en 2002. En ese año, se realizó una modificación por parte de la comunidad de usuarios al Microsoft’s Remote Scripting para reemplazar el applet Java por XMLHttpRequest.
Frameworks de Scripting Remoto como el ARSCIF aparecieron en 2003 poco antes de que Microsoft introdujera Callbacks en ASP.NET.
Desde que XMLHttpRequest está implementado en la mayorÃa de los navegadores, raramente se usan técnicas alternativas. Sin embargo, todavÃa se utilizan donde se requiere una mayor compatibilidad, una reducida implementación, o acceso cruzado entre sitios web. Una alternativa, el protocolo SVGT, emplea una conexión persistente para el intercambio continuo entre el navegador y el servidor.
Pros
Interactividad
Las aplicaciones AJAX se ejecutan en la máquina cliente, manipulando las página actual dentro de sus navegadores usando métodos de Document Object Model. Puede ser usado para multitud de tareas como actualizar o eliminar registros, expandir formularios web, devolver peticiones simples de búsqueda, o editar árboles de categorÃas; todo sin tener la necesidad de tener que recargar toda la página de HTML cada vez que se realiza un cambio. Generalmente sólo requiere enviar pequeñas peticiones al servidor, y se devuelven respuestas relativamente cortas. Esto permite el desarrollo de aplicaciones interactivas con más interfaces de usuario más reponsivas gracias al uso de las técnicas DHTML.
Portabilidad
Las aplicaciones de Ajax utilizan caracterÃsticas bien documentadas presentes en todos los navegadores importantes en la mayorÃa de las plataformas existentes. Aunque esta situación podrÃa cambiar en el futuro, en este momento, los usos de Ajax son efectivos entre plataformas.
Mientras que la plataforma de Ajax está más restringida que la plataforma de Java, las aplicaciones actuales de Ajax llenan con eficacia la parte de los Java applets: ampliar el navegador con mini-aplicaciones ligeras.
Contras y crÃticas
CrÃticas de usabilidad
Una de las mayores crÃticas contra el uso de AJAX en aplicaciones web es que puede facilmente acabar con el comportamiento normal del botón atrás del navegador. Las diversas expectativas entre volver a una página que se ha modificado dinámicamente y la vuelta a una página estática pueden ser sutiles. Los usuarios normalmente esperan que haciendo click en atrás mientras están en una aplicación web les llevará a la última página cargada, y en aplicaciones AJAX lo más seguro es que esto no ocurra. Los desarrolladores han implementado varias soluciones a este problema, muchos de los cuales giraron alrededor de crear o usar IFrame invisibles para invocar los cambios que hacen que se genere el historial usado por el botón atrás del navegador. Google Maps, por ejemplo, realiza búsquedas en un IFrame invisible y luego inserta los resultados en la página web visible; es posible seguir el comportamiento del usuario vÃa callbacks que son llamados cada vez que se pulsa el botón atrás, recuperando el estado de la aplicación que existÃa en ese momento.
Un problema relacionado es que las actualizaciones dinámicas hacen difÃcil al usuario agregar a los marcadores/favoritos un momento particular de la aplicación. Existen soluciones a este problema, muchas de las cuales utilizan el fragmento identificador del URL (la parte de una URL precedida del signo ‘#’ [1] [2]) para no perderla de vista, y permitir a los usuarios volver a ese momento exacto. Esto es posible porque muchos navegadores permiten al JavaScript actualizar dinámicamente el fragmento identificador del URL, por lo que las aplicaciones Ajax pueden mantenerlo a medida que el usuario va cambiando el estado de la página [3]. Esta solución también mejora el funcionamiento del botón atrás.
Tiempos de respuesta
El intervalo entre la petición del usuario y la respuesta del servidor debe tenerse en cuenta durante el desarrollo de AJAX. Sin el feedback claro al usuario [4], carga de datos elegante [5], y dirección apropiada del objeto XMLHttpRequest [6] los usuarios pueden experimentar esperas en la intefaz de la aplicación web, algo que los usuarios pueden no esperar o comprender [7]. Como soluciones a estas esperas, frecuentemente se recomienda el uso de feedback visual para informar al usuario de la actividad en segundo plano y/o precarga de contenido y datos.
En general el impacto potencial de la espera no ha sido "resuelto" por ninguno de los toolkits y frameworks para AJAX de codigo abierto disponibles hoy en dÃa.
JavaScript
Aunque AJAX no necesita ningún tipo de plug-in para el navegador, requiere que los usuarios tengan el JavaScript activado. Esto se aplica a todos los navegadores que soportan esta tecnologÃa excepto para Microsoft Internet Explorer 6 y anteriores los cuales necesitan también tener el ActiveX activado, ya que el objeto XMLHttpRequest está implementado junto con el ActiveX en este navegador. Internet Explorer 7, por otra parte, va a implementar esta interfaz como un objeto JavaScript nativo y por tanto no se va a necesitar ActiveX para que AJAX pueda funcionar con normalidad.
Como ocurre con las aplicaciones DHTML, las de AJAX deben de ser probadas rigurosamente para adaptarse a los diferentes navegadores y plataformas. Han ido apareciendo numerosas librerÃas de programación a medida que AJAX ha ido madurando que pueden ayudar en esta tarea. Asimismo, se han desarrollado técnicas para asistir en el diseño de aplicaciones que ofrecen funcionalidades alternativas para los usuarios que no tienen el JavaScript activado.
Nombre
Ha habido varias crÃticas en torno al término AJAX, reclamando que Adaptive Path (el consultorio que creó la palabra [8]) u otros defensores lo usan como un vehÃculo de marketing para técnicas antes usadas [9] [10] [11] [12].
Accesibilidad
La utilización de tecnologÃas AJAX en la web proporciona muchos desafÃos para desarrolladores interesados en la adhesión a las directrices de la WAI de accesibilidad. Los desarrolladores necesitan proporcionar opciones fallback para usuarios en otras plataformas o navegadores, ya que la mayorÃa de los métodos de puesta en práctica de AJAX confÃan en rasgos sólo presentes en navegadores gráficos de escritorio.
Los desarrolladores web usan AJAX en algunos casos para ofrecer contenido sólo a porciones especÃficas de una página, permitiendo la manipulación de datos sin la necesidad de recargar la página completa en el navegador. Los no usuarios de AJAX seguirÃan cargando y manipulando la página entera como un fallback, permitiendo a los desarrolladores preservar la experiencia de los usuarios en entornos no-AJAX (incluyendo todos los temas relevantes de accesibilidad) mientras que da a aquellos con un navegador capaz, una experiencia de usuario mucho mejor.
Navegadores que permiten AJAX
Debe tenerse en cuenta que ésta es una lista general, y el soporte de las aplicaciones AJAX dependerá de las caracterÃsticas que el navegador permita.
* Microsoft Internet Explorer para Windows versión 5.0 y superiores, y los navegadores basados en él.
* Navegadores basados en Gecko como Mozilla, Mozilla Firefox, SeaMonkey, Camino, Flock, Epiphany, Galeon y Netscape versión 7.1 y superiores.
* Navegadores con el API KHTML versión 3.2 y superiores implementado, incluyendo Konqueror versión 3.2 y superiores, Apple Safari versión 1.2 y superiores, y el Web Browser for S60 de Nokia tercera generación y posteriores
* Opera versión 8.0 y superiores, incluyendo Opera Mobile Browser versión 8.0 y superiores.
Navegadores que no permiten AJAX
* Opera 7 y anteriores
* Microsoft Internet Explorer para Windows versión 4.0 y anteriores
* Microsoft Internet Explorer para Macintosh, todas las versiones
* Navegadores basados en texto como Lynx y Links
* Navegadores para incapacitados visuales (braille)

http://www.***/get.php?d=dvt0t8hh8oc
Si te gusto el post deja algun Comentario
Saludos desde Mexico
