Una Widget (en el sentido de la familia de estandares W3C para Widgets) es una aplicación Web, pero en vez de conectarse siempre a una pagína, y tener todo la logica en el servidor, se instala en el ordenador del usuario.
En principio, una Widget es un sitio Web, más un fichero de configuración, compromido juntos en el formato Zip. La idea está bastante antigua, con los Widgets de Opera, Dashboard Widgets de Apple, y otros ya teniendo 4-5 años o más de edad. Y son muy sencillos - el fichero de configuración puede ser unas pocas lineas sencillas, como
<widget xmlns="http://www.w3.org/ns/widgets">
<name>Dahut Chaser</name>
<description>
Combining the latest weather info with your GPS position,
this widget alerts you of any significant dahut activity in
your area. When a big one walks by, the widget plots the
best route on a map based on the dahut's trajectory so
you can chase it! With support for built-in cameras, you
can quickly upload all the Alpine action to your blog or to
the insane dahut chaser web site! Awesome!
</description>
</widget>
Hacer estandares permite una interoperabilidad mas amplia. Ya hay multiples implantaciones en plataformas distintas. Aplicaciones cómo el Widgetize de Opera han permitido la creación de centenares de miles de Widgets basicas, mientras Widgets grandes cómo Tabulator, un navegador visual de información RDF en forma de widget, pueden llegar facilmente a mas de un Mb de codigo.
Widgets ofrecen unas ventajas, comparadas a aplicaciones Web tradicionales. Por ser instalado, funcionan aunque el usuario no está conectado. Igualmente, pueden guardar sus datos localmente. Dado que en los dispositivos moviles, trasmisión de datos es la cosa que mas consume batería, estos aspectos pueden mejorar mucho la experiencía del usuario móvil que quiere usar su telefono en la mañana y en la tarde.
Igualmente, aparte de la configuración (que puede ser más complicado que el ejemplo arriba), la aplicación se construye de codigo lo que los desarolladores Web ya conocen - HTML, CSS, SVG, Javascript, etc. Asi es mucho mas facil que crear una aplicación en un lenguaje cómo C++ o Java, y a la vez se adapta facilmente a las circonstancias del usuario, aprovechando de la independenciá de dispositivo que ofrece la tecnología Web.
Los Widget son la tecnología a la base de iniciativas cómo el WAC (mencionado ya unas veces en este blog), y de “App stores” ofertas por algnuos de los grandes operadores del mundo. Al ser un estandar abierto, es igualmente possible de poner un Widget en cualquier servidor Web (e incluso un servidor Opera Unite). Entonces, una empresa puede desarollar un Widget para sus propios sistemas, ponerlo en su intranet, e ofrecerlo sólo a sus empleados. Opera ya ha tenido algunas generaciones de Widgets asi para interactuar con sistemas internas, tal cómo recordar información de proyectos particulares.
Los Widgets pueden aprovechar mucho de los ultimos avanzes en tecnologia Web, de la facilidad de crear interfaces animadas e interactivas de SVG hasta la rapidez de los procesadores modernos de Javascript o las nuevas capacidades de HTML5 para programar aplicaciones. Dado que son hecho 100% de tecnología Web, y que HTML 5 ofrecerá más possibilidades de hacer aplicaciones que funcionan aun desconectadas, es possible que las Widget son un paso en la evolución de la Web cómo plataforma de programación, y que desaparecerán. Igualmente, pueden ser cómo hacemos aplicaciones descargables para la Web, en un futuro bastante largo.
Lo que parece claro es que son un parte importante de la capacidad de cambiar de un desarollo especifico a un plataforma (iPhone, Android, Symbian) a desarollar aplicaciones ricas que funcionan para las casi 2000 millones de usuarios de la Web, que pronto van a ser 3000 millones, muchos conectados por telefonos de todo tipo.



