Ajax (programación)


Ajax (también AJAX / ˈ eɪ æ k s / ; abreviatura de " JavaScript asíncrono y XML ") [1] [2] es un conjunto de técnicas de desarrollo web que utiliza varias tecnologías web en el lado del cliente para crear aplicaciones web asíncronas . Con Ajax, las aplicaciones web pueden enviar y recuperar datos de un servidorde forma asíncrona (en segundo plano) sin interferir con la visualización y el comportamiento de la página existente. Al desacoplar la capa de intercambio de datos de la capa de presentación, Ajax permite que las páginas web y, por extensión, las aplicaciones web, cambien el contenido de forma dinámica sin necesidad de recargar toda la página. [3] En la práctica, las implementaciones modernas suelen utilizar JSON en lugar de XML.

Ajax no es una tecnología, sino un concepto de programación. HTML y CSS se pueden usar en combinación para marcar y diseñar información. La página web puede ser modificada por JavaScript para mostrarse dinámicamente y permitir que el usuario interactúe con la nueva información. El objeto XMLHttpRequest incorporado se usa para ejecutar Ajax en páginas web, lo que permite que los sitios web carguen contenido en la pantalla sin actualizar la página. Ajax no es una nueva tecnología, ni es un nuevo lenguaje. En cambio, se trata de tecnologías existentes utilizadas de una manera nueva.

A principios y mediados de la década de 1990, la mayoría de los sitios web se basaban en páginas HTML completas. Cada acción del usuario requería que se cargara una nueva página completa desde el servidor. Este proceso era ineficiente, como lo refleja la experiencia del usuario: todo el contenido de la página desaparecía y luego aparecía la nueva página. Cada vez que el navegador recargaba una página debido a un cambio parcial, había que reenviar todo el contenido, aunque solo había cambiado parte de la información. Esto colocó una carga adicional en el servidor e hizo que el ancho de banda fuera un factor limitante en el rendimiento.

En 1996, Internet Explorer introdujo la etiqueta iframe ; al igual que el elemento del objeto , puede cargar o recuperar contenido de forma asíncrona. En 1998, el equipo de Microsoft Outlook Web Access desarrolló el concepto detrás del objeto de secuencias de comandos XMLHttpRequest . [4] Apareció como XMLHTTP en la segunda versión de la biblioteca MSXML , [4] [5] que se envió con Internet Explorer 5.0 en marzo de 1999. [6]

La funcionalidad del control ActiveX XMLHTTP de Windows en IE 5 fue implementada posteriormente por Mozilla Firefox , Safari , Opera , Google Chrome y otros navegadores como el objeto JavaScript XMLHttpRequest. [7] Microsoft adoptó el modelo XMLHttpRequest nativo a partir de Internet Explorer 7 . La versión de ActiveX todavía es compatible con Internet Explorer, pero no con Microsoft Edge . La utilidad de estas solicitudes HTTP en segundo plano y las tecnologías web asincrónicas permanecieron bastante oscuras hasta que comenzaron a aparecer en aplicaciones en línea a gran escala como Outlook Web Access (2000) [8] yOddpost (2002).

Google realizó una amplia implementación de Ajax compatible con los estándares y entre navegadores con Gmail (2004) y Google Maps (2005). [9] En octubre de 2004 , la versión beta pública de Kayak.com fue uno de los primeros usos de comercio electrónico a gran escala de lo que sus desarrolladores en ese momento llamaron "la cosa xml http". [10] Esto aumentó el interés en Ajax entre los desarrolladores de programas web.


El modelo convencional de una aplicación web frente a una aplicación que utiliza Ajax