2006 fue sin duda el año de las RIA (Rich Internet Application). Las RIA son aplicaciones web que ofrecen mejor interactividad y convivialidad para el usuario. Proporcionan a las páginas web la capacidad de interfaz de usuario de una aplicación de escritorio. Su característica básica es la capacidad de poder actualizar de manera asíncrona un componente especifico de una página web, sin tener la necesidad de recargar toda la página, como podría ser por ejemplo el drag & drop dentro de una página web.
Las RIA se apoyan en tecnologías como Ajax (comentada en una entrada anterior), o OpenLaszlo una plataforma open source que permite escribir aplicaciones web con XML y JavaScript y que se compilan de manera transparente a Flash o DHTML. Un buen ejemplo de RIA es el paquete Google Docs.
Poco a poco las aplicaciones en línea dan un nuevo salto, las RDA (Rich Desktop Application). Al contrario de las RIA que se ejecutan exclusivamente en un navegador, las RDA se ejecutan a la manera de una aplicación de escritorio. Son aplicaciones que utilizan servicios en línea (web services), pero que se ejecutan dentro de nuestra máquina. Para ello necesitan un entrono de ejecución adecuado o contenedor para poder ejecutarse y solicitar los servicios web requeridos. Ese entorno puede ser un navegador, una máquina virtual o un contenedor de otro tipo, corriendo en nuestro propio sistema.
Una de las grandes ventajas de las RDA respecto a las RIA es la capacidad de poder aprovechar de los recursos de nuestro sistema (acceso a los periféricos) y utilizarlas off-line, cuando no tenemos conexión a Internet. Esas aplicaciones se encargan ellas de sincronizar nuestro trabajo una vez recuperada la conexión.
Java WebStart es una opción para desarrollar RDA, pero se está avecinando a la vuelta de la esquina nuevas herramientas como Apollo de Adobe y WPF/E de Microsoft.
En conclusión, las RDA agrupan el aspecto práctico de las RIA (ligeras, servicio en línea…) y la robustez de las aplicaciones tradicionales (tiempo de reacción, estabilidad, acceso a los recursos del sistema…).