Definición:
Las siglas de Ajax responden a Asynchronous JavaScript y XML, o Javascript y XML Asincrono. Ajax es un lenguaje de programación que permite la actualización de secciones específicas de contenido en una página web, sin necesidad de recargar completamente la página.
El término Ajax fue utilizado por primera vez por Jesse James Garret en 2005, en su publicación «Ajax: a New Approach to Web Applications».
Aplicaciones del Ajax
Con Ajax, las aplicaciones web pueden enviar datos desde un servidor y recuperarlos de forma asíncrona (cargando de fondo), sin interferir con la visualización y el comportamiento de la página existente. Por desacoplamiento de la capa de intercambio de datos de la capa de presentación, Ajax permite a las páginas web, y por extensión a las aplicaciones web, cambiar el contenido de forma dinámica sin necesidad de recargar la página entera. Los datos pueden ser recuperados utilizando el objeto «XMLHttpRequest». A pesar del nombre, no se requiere el uso de XML (JSON se utiliza a menudo en la variante AJAJ), y las solicitudes no tiene por qué ser asincrónicas.
Ajax no es una tecnología, sino un grupo de tecnologías. HTML y CSS se pueden utilizar en combinación con esta. JavaScript y el objeto «XMLHttpRequest» proporcionan un método para el intercambio de datos de forma asíncrona entre el navegador y el servidor para evitar cargar la página por completo.
Inconvenientes de Ajax
- Cualquier usuario cuyo navegador no soporta JavaScript o XMLHttpRequest, o tiene esta funcionalidad desactivada, no será capaz de utilizar correctamente las páginas que dependen de Ajax. Es posible que dispositivos simples (como los teléfonos inteligentes y PDAs) no sean compatibles. Esto puede llevar a no depender exclusivamente de Ajax.
- Del mismo modo, algunas aplicaciones web que utilizan Ajax están construidas de manera que no puede ser leídas por las tecnologías de lectura de pantalla, como JAWS.
- Los lectores de pantalla que son capaces de utilizar Ajax puede que aún no sean capaces de leer correctamente el contenido generado dinámicamente.
- La misma política de origen evita que algunas de las técnicas de Ajax sean utilizadas a través de dominios, aunque el W3C posee un borrador del objeto «XMLHttpRequest» que habilita esta funcionalidad.
- El estilo de devolución de llamada asincrónica de programación requerida puede llevar a un código complejo difícil de mantener, depurar y poner a prueba.
- Las páginas web programadas con Ajax presentan una mayor dificultad a la hora de realizar un análisis web detallado de sus interacciones.
- Debido a la naturaleza asíncrona de Ajax, cada trozo de datos que se envían o reciben por parte del cliente se produce en una conexión establecida específicamente para ese evento. Esto crea un requisito que para cada acción, el cliente debe sondear el servidor, en lugar de escuchar, lo que incurre en una importante sobrecarga. Esta sobrecarga conduce a varios tiempos de latencia más alta con el Ajax de lo que se puede lograr con una tecnología como websockets.