28 enero, 2009

GMail sin conexión

GMail es una aplicación web a la que se le debe el haber supuesto el punto de inflexión tras el cuál la revolución AJaX (o Remote Scripting como siempre se le debió llamar) explotó hasta el punto de hacerse omnipresente. A pesar de la ubicuidad de Flash, disponible en el 95% de los navegadores, y de los esfuerzos (Adobe Flex, Open Laszlo) por dar alternativas simples a la creación de aplicaciones ricas, las tecnologías de siempre (HTML, CSS, Javascript, y XML o JSON) siguen siendo preferidas al ser más abiertas y familiares. GMail abrió los ojos a muchos desarrolladores ante las posibilidades y las ventajas de trabajar sin la necesidad de cargar una y otra vez la página para mostrar cambios, algo que haciamos hasta hace muy poco con total naturalidad con la queja típica de "me funciona lento Internet".

Hoy, el equipo responsable de GMail da un paso más que también puede suponer un antes y un después: han anunciado la disponibilidad de la opción de trabajar con el aunque no se tenga conexión. No hay que subestimar la importancia de ese cambio que ha supuesto una profunda revisión del funcionamiento interno de la aplicación. La nueva característica hace uso, como no podía ser de otra forma, de Google Gears, el programa que extiende las capacidades del navegador aumentando la potencia de las aplicaciones web que corren sobre él. Con Gears, GMail mantiene en una base de datos local los mensajes sincronizados con los servidores de Google para que puedan ser accedidos aún cuando no sea posible realizar una conexión con éstos. Un efecto secundario de este sistema es que la aplicación funcionará perfectamente sin que el usuario perciba ningún problema incluso si la conexión tiende a cortarse con frecuencia.

Aunque un poco a remolque de los productos que libera Google, la comunidad puede verse beneficiada de una nueva funcionalidad para las aplicaciones web que, pese a su utilidad, no es la que se espera de ellas. De nuevo, esta tecnología puede abrir ojos y fomentar su uso en entornos corporativos y puede tener múltiples aplicaciones.

Conviene recordar las posibilidades de Gears (y las de Yahoo! BrowserPlus, que es similar):

  • Disponibilidad para Mac (Firefox y Safari), Windows (IE y Firefox), Linux (Firefox), Android (webkit), Windows Mobile (IE Mobile).
  • Base de datos local basada en SQLite y accesible desde Javascript
  • LocalServer para cachear los archivos estáticos y que las páginas sean accesibles por el navegador incluso sin conexión
  • WorkerPool trae los hilos al navegador para procesos que necesiten largo tiempo para ejecutarse y no bloquear así la experiencia de usuario (como la sincronización con servidores).
  • Servicios de localización geográfica del dispositivo sobre el que se está ejecutando el navegador
  • API de blobs para gestionar datos binarios desde Javascript
  • Acceso a archivos locales a través de la API de Google Desktop
Addendum: Me he olvidado de enlazar el breve artículo Disruptive del gurú Douglas Crackford y su frase:
Espero que los últimos contendientes, incluyendo Air, Silverlight, y JavaFX, también fracasen en desplazar ajax, incluso aunque son principalmente tecnologías superiores. Ninguno de esos pretendientes ofrece un mejor modelo de seguridad que la web, y creo que la habilidad de mezclar componentes de forma segura será la clave para la siguiente generación de avances.

Publicar un comentario en la entrada

Últimos links en indiza.com