Rich Internet Applications: la web y el escritorio se aman

Escrito por Ramón Rey en Análisis de Software el 10 de marzo de 2008

Adobe ya tiene su apuesta en el mundo de las Rich Internet Applications (RIA) y su nombre es AIR (Adobe Integrated Runtime). 

Pero Adobe AIR no es la única solución para desarrollar este tipo de aplicaciones. De hecho se podría decir que es la última en llegar a la fiesta. Microsoft tiene Silverlight, Mozilla tiene Prism, SUN tiene JavaFX y Google tiene Gears.Sin embargo la concepción de las RIA´s para estas tecnologías de diversas compañías es muy diferente.

Adobe AIR

Para los despistados que no sepan hacia que mundo tecnológico nos dirigimos, las RIA´s son aplicaciones que tienen la potencia del software nativo y las ventajas de las últimas tecnologías web integradas tanto en el interfaz de usuario como en la conectividad. Se podría decir que es una «webización» de las aplicaciones de escritorio.

Nos encontramos con aplicaciones web que responden como aplicaciones nativas, con interfaces de usuario estéticamente muy atractivas y la capacidad de estar conectadas a la red constantemente y obtener datos en tiempo real de servicios remotos sin requerir recargar una página web.

Las alternativas de los grandes rivales

Adobe AIR permite combinar Flash y tecnologías AJAX usadas hasta ahora para el desarrollo web como Flex. Se basa exclusivamente en tecnologías de programación web y permite ejecutar el software desarrollado sin requerir un navegador. Está disponible para Windows, Mac y Linux. Para desarrollar aplicaciones AIR se puede optar por HTML y Javascript sin requerir ningún entorno de desarollo específico. Si se opta por usar tecnologías de más alto nivel, se pueden usar tanto Adobe Flash CS3 como Adobe Flex Builder 3 con sus tecnologías y frameworks de desarrollo web tan populares.

Microsoft Silverlight

Silverlight de Microsoft lleva la programación nativa de Windows, con sus tecnologías .Net a la web y lo mezcla con Flash y HTML, pero extendiendolo con tecnologías propietarias y características de reproducción de video. Ünicamente permite ejecutar aplicaciones y visualizar contenidos en navegador y soporta Windows y Mac oficialmente. Los usuarios de Linux tienen que centrar sus esperanzas en Moonlight, una implementación libre para Linux desarrolada por los integrantes del proyecto Mono.

No se trata únicamente de permitir crear aplicaciones sino que pretende competir con tecnologías de streaming de video al integrar las tecnologías de Windows Media. En cuanto al desarrollo es necesario Microsoft Visual Studio 2008 y para el diseño de interfaces gráficas Expression, orientado tanto a diseño web como a creación de aplicaciones RIA.

JavaFX de SUN es una extensión de Java orientada a desarrollar aplicaciones de forma coherente en multitud de dispositivos diferentes. Ya de por sí Java es una tecnología de desarrollo multiplataforma que cubre tanto web como aplicaciones de escritorio y JavaFX es un intento de SUN de mezclar ambos mundos de forma  amigable para el desarrollador.

JavaFX es una vuelta de tuerca al lema «Write once, run everywhere» de Java y pretende servir para alcanzar la multiplataformidad total de las aplicaciones desarrolladas en Java. Las aplicaciones JavaFX serían portables a la web, dispositivos móviles y todas las plataformas de escritorio existentes que soporten Java. Lo curioso es que la tecnología de applets de Java y multitud de aplicaciones de Java se pueden considerar ya aplicaciones RIA sin más aditivos. JavaFX añade un poco más de complejidad a una plataforma que ya de por si tenía las ventajas de las RIA hace 10 años.

Mozilla tiene Prism como un apaño, una forma de que el usuario no dependa de tecnologías externas de terceros para disfrutar de aplicaciones offline. La idea de Mozilla es poder convertir servicios web en aplicaciones independientes del navegador. Ahora mismo Firefox dispone de cierto soporte para aplicaciones offline, pero Prism supondría un paso de gigante en Firefox como plataforma para aplicaciones RIA. ¿Entornos de desarrollo? Ninguno, la idea de Mozilla es que se pueda usar cualquier página web desarrollada usando AJAX en una aplicación independiente del navegador y offline.

Google Gears

Google Gears es una solución de Google para los usuarios que quieren disponer de sus aplicaciones y servicios web sin estar constantemente conectados a Internet. Es multiplataforma y aunque Google de momento únicamente lo usa para Google Reader, se supone que en un futuro todas las aplicaciones de Google serán accesibles offline gracias a Gears. 

Al margen de esto, Gears está disponible para todos los desarrolladores y supone más que una revolución, otro arreglo parecido al de Prism pero más integrado en el ciclo de desarrollo de las aplicaciones web.

Aparte de estas tecnologías desarrolladas por las principales fuerzas en software relacionado con Internet existen otras soluciones para la creación de RIA´s como ActiveX (que ya ha sido defenestrada por Microsoft después de años de promocionarla) o el uso de AJAX con tecnologías estándar de la Web como HTML y Javascript.

Conclusiones

¿Cuál de estas tecnologías puede ganar la batalla por la nueva ola de las aplicaciones RIA? Adobe tiene detrás años con un producto altamente extendido como Flash y sus tecnologías de desarrollo web son potentes, siguen estándares, son multiplataforma y tienen una gran aceptación por parte de los desarrolladores web.

Silverlight es una solución orientada a los desarrolladores de Windows que supone las mismas ventajas que Flash representa desde hace años para la creación web. Por un lado soporta AJAX y tecnologías web neutrales, pero por otro su desarrollo está muy orientado al uso de .Net (C#, VisualBasic.Net, etc) para la creación de las aplicaciones.

Por si fuera poco Silverlight es tambien una plataforma de distribución de video que pretende competir con Flash y Quicktime, dos auténticos estándares de facto en la web para la publicación de contenidos audiovisuales. No aporta nada nuevo y tiene limitaciones importantes respecto a Adobe AIR.

JavaFX pretende promocionar el uso de Java en dispositivos móviles y extender el uso de la plataforma de SUN en esta nueva era de aplicaciones de Internet Añade nuevos recursos (como un nuevo lengaje de scripting) a una plataforma de desarrollo muy potente y multiplataforma. Sin embargo es la plataforma más compleja a la hora de llevar a la realidad proyectos en este ámbito y es de lejos la menos conocida.

Mozilla Prism

Mozilla Prism es un enfoque simplista de un proyecto que tiene tecnologías muy avanzadas que podrian suponer un avance real en el desarrollo y la estandarización de aplicaciones RIA. Hablo de XUL, la plataforma de creación a aplicaciones que está debajo de Firefox, Thunderbird y otros proyectos basados en el framework de Mozilla. XUL seria revolucionario, daría al traste con las tecnologías de empresas con muchos intereses como Adobe, Google o Microsoft y sin embargo sigue ignorada. Mozilla para esta guerra no cuenta en absoluto.

Gears es una solución propia de Google, no busca introducir grandes revoluciones, sino apoyarse en la Web para popularizarse. Y aunque en un principio está bastante limitada respecto a Silverlight o AIR, tiene la ventaja de que basa el desarrollo de aplicaciones exclusivamente en estándares web.

En resumen, Microsoft pretende con Silverlight llegar a donde Adobe se encuentra desde hace años con Flash y Apple con Quicktime. Adobe quiere hacerse con el poder en cuanto al desarrollo de aplicaciones RIA para el escritorio que abren todo un abanico de posibilidades para sus entornos de desarrollo. Mozilla no quiere entrar a competir y Google va a su ritmo, sabedor de que la web si ha tenido éxito es por no depender de forma imprescindible de tecnologías externas.

Comentarios.

Avatar de Carlos Fenollosa

Por Carlos Fenollosa hace 5 meses

Parece ser que, después de fracasar en Internet, Microsoft quiere entrar en la batalla de las RIA con Silverlight. Desde luego, es una de las que tiene más fuerza, junto a Flash.

Ya veremos si Air aporta mejoras sustanciales respecto a Flash, porque todos sabemos que los usuarios no están demasiado dispuestos a cambiar su software. De momento han hecho una jugada muy inteligente: enfocar AIR también a entorno de desarrollo para aplicaciones de escritorio.

Una batalla muy interesante, sin duda.

Avatar de Javier Romero

Por Javier Romero hace 5 meses

Interesante, pero con muchos peros (por ahora). Si lo vemos desde el punto de vista del uso de un ordenador de sobremesa, nos permite acceder de forma rápida y dinámica a información que de otra manera no nos sería accesible. Pero desde el punto de vista de la movilidad, actualmente no nos proporciona la facilidad requerida. Me explico: puedes migrar aplicaciones de sobremesa a internet con un interfaz rico en detalles, pero por contra necesitas instalar plugins (por ejemplo, XUL para explorer, la máquina java, incluso la carga de las librerías de javascript...), tienes problemas de ejecución con terminales simples (AJAX y javascript en general), con lo que vas reduciendo en parte la potencia que te da la movilidad. Llevo cuatro años migrando aplicaciones de gestión de sobremesa a internet y sigo usando html estándar para la mayoría de las pantallas. En cualquier caso, a la larga supongo que Adobe y Microsoft se llevarán el gato al agua, uno por experiencia y otro por “masificación impuesta”.

Avatar de Ramón Corominas

Por Ramón Corominas hace 5 meses

A mí lo que me gustaría ver es la accesibilidad de todas estas aplicaciones, porque me da la impresión de que el camino que llevan en ese sentido es un auténtico desastre.

Avatar de rulyole

Por rulyole hace 5 meses

Lo que observo actualmente es el completo empeño de Microsoft de dar a conocer Silverlight, para que así se vea aumentado su uso y puedo poseer un gran trozo del pastel. Al menos en mi universidad ya han dado varias charlas...

Escribe tu comentario

Si quieres dejar un comentario Inicia sesión o Registrate