AJAX
AJAX, acrónimo de Asynchronous JavaScript And XML
(JavaScript asíncrono y XML), es una técnica de desarrollo web para crear
aplicaciones interactivas o RIA (Rich Internet Applications). Estas
aplicaciones se ejecutan en el cliente, es decir, en el navegador de los
usuarios mientras se mantiene la comunicación asíncrona con el servidor en
segundo plano. De esta forma es posible realizar cambios sobre las páginas sin
necesidad de recargarlas, mejorando la interactividad, velocidad y usabilidad
en las aplicaciones.
Ajax es una tecnología asíncrona, en el sentido de que los
datos adicionales se solicitan 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 frameworks y en algunas situaciones concretas, se usa un objeto iframe en lugar del XMLHttpRequest para realizar dichos intercambios. PHP es un lenguaje de programación de uso general de script del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico también utilizado en el método Ajax.
- · 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.
ADOBE FLEX
Adobe Flex (hasta 2005 Macromedia Flex) es un término que
agrupa una serie de tecnologías publicadas desde marzo de 2004 por Macromedia
para dar soporte al despliegue y desarrollo de Aplicaciones Enriquecidas de
Internet, basadas en su plataforma propietaria Flash.
Los programadores tradicionales de aplicaciones ven como un
desafío adaptar la metáfora de la animación sobre la plataforma con la cual fue
originalmente construido Flash. Flex minimiza elegantemente este problema
proveyendo un flujo de trabajo y un modelo de programación que es familiar a
los desarrolladores de aplicaciones. El objetivo de Flex es permitir a los
desarrolladores de aplicaciones web construir rápida y fácilmente Aplicaciones
Enriquecidas de Internet, también llamadas RIA. En un modelo multi-capa, las
aplicaciones Flex son el nivel de presentación.
Flex pone en relieve el desarrollo de Interfaces gráficas
de usuario usando un lenguaje XML llamado MXML. Flex tiene varios componentes y
características que aportan funcionalidades tales como Servicios Web, objetos
remotos, arrastrar y soltar, columnas ordenables, gráficas, efectos de
animación y otras interacciones simples.
El servidor Flex también actúa como un gateway permitiendo
al cliente comunicarse con servicios web XML y objetos remotos (tales como
Coldfusion CFC, clases Java, y cualquiera que soporte el formato de mensajes de
acciones).
Las alternativas a Flex son (entre otras) Google Web
Toolkit, JavaFX, OpenLaszlo y Silverlight de Microsoft.
JavaFX
JavaFX es una familia de productos y tecnologías de Sun
Microsystems, adquirida por Oracle Corporation, para la creación de Rich
Internet Applications (RIAs), esto es, aplicaciones web que tienen las
características y capacidades de aplicaciones de escritorio, incluyendo aplicaciones
multimedia interactivas. Las tecnologías incluidas bajo la denominación JavaFX
son JavaFX Script y JavaFX Mobile, aunque hay más productos JavaFX planeados.
Las aplicaciones JavaFX pueden ser ejecutadas en una amplia
variedad de dispositivos. En su versión (JavaFX 1.3, abril 2010) permite crear
aplicaciones de escritorio, para celulares, la Web, TV, consolas de
videojuegos, reproductores Blu-ray, entre otras plataformas planeadas. En
octubre de 2011 fue lanzada la versión 2.0. Para el desarrollo de aplicaciones
JavaFX un lenguaje declarativo, tipado llamado JavaFX Script, además puede
integrarse código Java en programas JavaFX. JavaFX es compilado a código Java,
por lo que las aplicaciones JavaFX pueden ser ejecutadas en computadores con la
máquina virtual de Java instalada (JRE), o celulares corriendo Java ME. La
intención de Sun Microsystems respecto de JavaFX es competir en el espacio que
ya ocupan Flash de Adobe, y Silverlight de Microsoft.