La disyuntiva es de las que está marcando 2008: ¿aplicaciones web como hasta ahora o aplicaciones de escritorio (o para el móvil) conectadas? Parece claro, al menos de momento, que las modas actuales indican que la aplicación de escritorio «de toda la vida» ha muerto. Igual resucita con el próximo cambio de paradigma, pero parece que eso es algo que no va suceder a corto o medio plazo. Los datos viven «in the cloud» y una parte de la potencia de cálculo también.
Las ventajas de las aplicaciones web son bien sabidas: siempre corremos la versión más actualizada del software, no hay instalación (si la velocidad de nuestra conexión a internet es suficiente, que si no es como si instalásemos cada vez) y no importa en qué sistema operativo estemos: todos tienen un navegador lo suficientemente sofisticado como para actuar de máquina virtual. Ese último punto, además, es una bendición para el desarrollador, que programa una sola vez para todas las plataformas, gracias a las bibliotecas y frameworks que corren por ahí.
Las aplicaciones conectadas, por su parte permiten una riqueza en la ‘user experience’ y en la interacción con el sistema operativo que la capa del navegador limita muy seriamente. A cambio, cuanta más ‘lógica de programación’ viva en el cliente más nos tenemos que preocupar de múltiples versiones y de mantener una API que hable con todas ellas y, si queremos correr sobre múltiples sistemas operativos no nos queda (o no nos quedaba, mejor) más opción que, en el mejor de los casos, compilar múltiples veces…
El año pasado comenzamos a ver dos intentos de solución al problema. Por un lado, Adobe anunciaba Air, que permitía aprovechar las habilidades adquiridas en el desarrollo de aplicaciones AJAX/Flash/Flex y añadía unas cuantas APIs para hablar con el escritorio y un proceso de empaquetado que, vía máquina virtual, nos permitía hacernos un hueco en el escritorio (de momento Windows y MacOS, en breve Linux).
Por el otro, la Mozilla Foundation lanzaba a través de Mozilla Labs Prism, que toma un camino similar: quitemos al navegador todo lo que sobra para correr aplicaciones (barras de menú y navegación, para comenzar) y añadámosle las cosas que le faltan si es necesario (un motor de base de datos, por ejemplo) y obtendremos el mismo resultado. Más detalles aquí.
El viernes se anunciaba nueva versión de Prism (vía), con una novedad interesante: extensión para Firefox (solo funciona con la beta 3 de Firefox 3 y versiones posteriores) que permite a cualquier usuario empaquetar cualquier aplicación web para ejecutarla en el escritorio. Así, por ejemplo, podemos empaquetar el correo de GMail o el calendario de Airset:
No vamos a conseguir funcionalidades que no estuviesen en la aplicación web original (que podrían añadirse, eso sí, mediante scripting y, como apuntan en Ars Technicacomo apuntan en Ars Technica, con los mismos privilegios que una extensión y pudiendo, por tanto, acceder directamente al sistema de archivos y otras actividades normalmente no disponibles desde una aplicación web), pero a veces va bien sacar determinadas aplicaciones del navegador.
De momento faltaría que las aplicaciones se identificasen mejor, al menos en Windows, que eso de tener dos procesos corriendo con el mismo nombre no es exactamente la mejor política…