Diferencia entre revisiones de «AJAX»
Contenido eliminado Contenido añadido
Sin resumen de edición |
Deshecha la edición 29843913 de 200.79.3.229 (disc.) |
||
Línea 1:
'''AJAX''', acrónimo de '''''A'''synchronous '''J'''avaScript '''A'''nd '''X'''ML'' ([[JavaScript]] asíncrono y [[XML]]), es una técnica de desarrollo [[web]] para crear aplicaciones interactivas o [[Rich Internet Application|RIA]] (Rich Internet Applications). Estas aplicaciones se ejecutan en el [[Cliente (informática)|cliente]], es decir, en el [[navegador web|navegador]] de los usuarios mientras se mantiene la comunicación [[asíncrono|asíncrona]] con el servidor en segundo plano. De esta forma es posible realizar cambios sobre las páginas sin necesidad de recargarlas, lo que significa aumentar la interactividad, velocidad y [[usabilidad]] en las aplicaciones.
'''AJAX''', acrónimo de '''''A'''synchronous '''J'''avaScript '''A'''nd '''X'''ML'' ([[JavaScript]] entre sitios web. Una alternativa, el [[Terminal SVG]]<ref name="svgt">[http://networkimprov.net/airwrx/awscene.html protocolo SVGT] (en inglés).</ref> (basado en [[Scalable Vector Graphics|SVG]]), emplea una conexión persistente para el intercambio continuo entre el navegador y el servidor.▼
Ajax es una tecnología asíncrona, en el sentido de que los datos adicionales se requieren al servidor y se cargan en segundo plano sin interferir con la visualización ni el comportamiento de la página. [[JavaScript]] es el lenguaje interpretado (scripting language) en el que normalmente se efectúan 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 asíncrono esté formateado en [[XML]].
Ajax es una técnica válida para múltiples plataformas y utilizable en muchos sistemas operativos y navegadores dado que está basado en estándares abiertos como JavaScript y [[Document Object Model]] (DOM).
== Tecnologías incluidas en AJAX ==
AJAX es una combinación de cuatro 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 de forma asíncrona con el servidor web. En algunos [[framework]]s y en algunas situaciones concretas, se usa un objeto <tt>[[iframe]]</tt> en lugar del XMLHttpRequest para realizar dichos intercambios.
* [[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 tecnología en sí, sino que es un término que engloba a un grupo de éstas que trabajan conjuntamente.
== Antecedentes de AJAX ==
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 <tt>iframe</tt> (introducido en Internet Explorer 3 en 1996) y el tipo de elemento <tt>layer</tt> (introducido en Netscape 4 en 1997, abandonado durante las primeras etapas de desarrollo de Mozilla). Ambos tipos de elemento tenían el atributo <code>src</code> 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]] ''[http://groups.google.es/group/microsoft.public.scripting.remote/topics?lnk=gschg&hl=es microsoft.public.scripting.remote]'' y después usando [[blog]]s, desarrollaron una gama de técnicas de scripting remoto para conseguir los mismos resultados en diferentes navegadores. Los primeros ejemplos incluyen la librería [[Scripting remoto en Javascript|JSRS]] en el año 2000, la introducción a la técnica [[imagen/cookie]]<ref name="tecnica_imagen_cookie">[http://www.depressedpress.com/Content/Development/JavaScript/Articles/GIFAsPipe/Index.cfm Using a GIF as a Data Pipe], explicación y ejemplo de uso de la técnica imagen/cookie (en inglés).</ref> en el mismo año y la técnica [[JavaScript bajo demanda]] (JavaScript on Demand)<ref name="js_on_demand">[http://dotvoid.com/view.php?id=13 Remote scripting with javascript], Explicación y ejemplo de procesar un archivo JavaScript bajo demanda (en inglés).</ref> en 2002. En ese año, se realizó una modificación por parte de la comunidad de usuarios<ref name="modif_usuarios_MSRS_applet_por_js">[http://groups.google.ca/group/microsoft.public.scripting.remote/browse_thread/thread/99b7e6152b45b2e7/6b3689e2dc7401dc microsoft.public.scripting.remote], sustitución del applet Java por el objeto XMLHttpRequest (en inglés).</ref> al ''Microsoft's Remote Scripting'' para reemplazar el applet Java por [[XMLHttpRequest]].
[[Framework]]s de Scripting Remoto como el [[ARSCIF]]<ref name="arscif">[http://arscif.dsi.unimi.it/ ARSCIF], A Framework for Asynchronous Remote–Script Callback Invocation (en inglés)</ref> aparecieron en 2003 poco antes de que [[Microsoft]] introdujera Callbacks en [[Active Server Pages|ASP]]. NET.<ref name="callback_en_ASPNET">[http://msdn.microsoft.com/msdnmag/issues/04/08/CuttingEdge/ Script Callbacks in ASP.NET (en inglés)]</ref>
▲
== Navegadores que permiten AJAX ==
Línea 37 ⟶ 61:
== Enlaces externos ==
<!-- ¡AVISO!: Este no es el mejor lugar para hacer publicidad de su negocio o página web. Los enlaces no afectan su popularidad en Google u otros buscadores. Considere esto antes de incorporar un
Los enlaces deben aportar información complementaria y relevante al artículo, de lo contrario no tienen cabida. Más información sobre "lo que Wikipedia no es" en:
Más información sobre "lo que Wikipedia no es" en:
http://es.wikipedia.org/wiki/Wikipedia:Lo_que_Wikipedia_no_es
-->
*[http://elrincondeajax.com/ Manual de AJAX] Completo tutorial en PDF de la técnica de programación con fuentes y varios videos
*[http://www.uberbin.net/archivos/internet/ajax-un-nuevo-acercamiento-a-aplicaciones-web.php AJAX un nuevo acercamiento a Aplicaciones Web], traducción del artículo original de Jesse James Garret
*[http://sherekan.com.ar/blog/2008/04/19/introduccion-a-ajax/ Introducción a AJAX] (en español)
*[http://ajax.asp.net/ AJAX: The Official Microsoft ASP.NET AJAX Site] Sitio oficial de Microsoft (en inglés)
*[http://search.cpan.org/search?query=Ajax&mode=all Ajax] Módulos [[Perl]] en [[CPAN]] (en inglés)
*[http://www.ajaxdaddy.com AjaxDaddy] Galería de ejemplos y su correspondiente código
*[http://www.librosweb.es/ajax/index.html Introducción a AJAX] Comenzando desde cero y llegando hasta las técnicas más avanzadas (Contenido en web y en PDF).
*[http://www.programacionweb.net/cursos/curso.php?num=2 Curso de AJAX]
*[http://www.preguntaalexperto.net/articles/miaconoComo-crear-un-motor-AJAX.aspx Como crear un motor AJAX (parte I)] Artículo sobre Como crear un motor AJAX.
*[http://www.preguntaalexperto.net/articles/miacono-Como-crear-un-Motor-AJAX---Parte-II.aspx Como crear un motor AJAX (parte II)] La continuación.
*[http://soaagenda.com/journal/articulos/el-mejor-ejemplo-dwr-o-el-mejor-tutorial-dwr/ Referencias de AJAX, y un buen ejemplo AJAX DWR]
{{bueno|de}}
Línea 52 ⟶ 91:
[[cs:Asynchronous JavaScript and XML]]
[[da:Ajax (programmering)]]
[[de:Ajax (
[[en:Ajax (programming)]]
[[eu:Ajax (programazioa)]]
Línea 60 ⟶ 99:
[[ga:AJAX]]
[[gl:AJAX]]
[[he:AJAX (תכנות
[[hu:Ajax (programozás)]]
[[hy:AJAX]]
[[id:AJAX]]
[[it:AJAX]]
[[ja:Ajax]]
[[ka:Ajax]]
[[ko:Ajax]]
[[lt:AJAX]]
[[mk:AJAX]]
[[ml:അജാക്സ് (കംപ്യൂട്ടര് പ്രോഗ്രാമിങ്ങ്)]]
[[mn:Ajax (программчлал)]]
[[ms:Ajax]]
[[nl:Asynchronous JavaScript and XML]]
[[nn:AJAX]]
[[no:Ajax (
[[pl:AJAX]]
[[pt:AJAX (programação)]]
[[ro:Ajax (programare)]]
[[ru:AJAX]]
Línea 74 ⟶ 126:
[[tk:Ajax (programmirleme)]]
[[tr:AJAX (programlama)]]
[[uk:
[[vi:Ajax (lập trình)]]
[[zh:AJAX]]
|