Sponsors

Project co-financed by ACIISI

Agencia Canaria de Investigación Ministerio de ... Plan Avanza

Meiga: compartiendo contenidos de forma ligera desde el escritorio

Printer-friendly versionPrinter-friendly version
Author(s): 
Enrique Ocaña González

La tendencia actual en Internet consiste en publicar contenidos en servidores centralizados para compartirlos con otras personas. Sin embargo, a veces resulta útil para los usuarios el tener la posibilidad de compartir sus propios contenidos desde el escritorio de una forma cómoda (en lugar de usando un pendrive, por ejemplo). ¿Por qué molestarse en publicar contenidos si se pueden compartir directamente desde el escritorio a la red de área local, o incluso a todo Internet?

En esta charla se presentará Meiga, una utilidad que permite compartir los directorios locales elegidos vía web. Pero eso es sólo el principio. De hecho, el objetivo final del proyecto es servir como punto común de publicación a otras aplicaciones de escritorio, como el gestor de archivos, visores de fotos o reproductores de música.

Meiga es ligero, fácil de usar, amigable con la red y también con las aplicaciones. Está escrito en una mezcla de de Vala y código C puro, usando tecnologías Gnome existentes para realizar sus tareas: libsoup se utiliza como una alternativa simple a los servidores web pesados, libgupnp se encarga de hacer la redirección de puertos si el router soporta UPnP, y DBUS expone una API pública que permite que tanto el interfaz gráfico como aplicaciones de terceros puedan controlar lo que se está sirviendo. Algunas características avanzadas de publicación están ya implementadas, como el servidor de feeds que puede generar una vista RSS de un directorio determinado.

Desde el punto de vista educativo, el código fuente de este proyecto es un ejemplo real del uso de tecnología Vala: programación Vala pura, diferentes alternativas para integrar Vala con código C puro (usando ficheros Vapi o lanzando un programa ejecutable hijo) o el uso de un "contexto programable" para manejar la secuenciación de operaciones asíncronas. Un sistema de compilación basado en autotools completa el conjunto de características interesantes. Este sistema emplea un fichero Vapi para pasar parámetros de configuración desde el config.h al programa Vala. Finalmente, unos cuantos ficheros adicionales de reglas permiten la generación de un paquete Debian, el último paso para poner el programa a disposición de los usuarios finales de una forma cómoda.

Meiga es software libre. Está publicado bajo licencia GPL 2.0 y puede descargarse haciendo git clone http://git.igalia.com/meiga.git

Author bio: 
Enrique Ocaña González es Ingeniero en Informática por la Universidad de A Coruña. Apasionado por la programación desde los 11 años, en 2002 comenzó a trabajar en Igalia, empresa gallega de software libre, de la que es socio en la actualidad. Allí ha desarrollado proyectos tanto web como de escritorio y mobile, empleando en estos dos últimos casos tecnologías GNOME. Sus aportaciones más destacadas a la comunidad han sido el juego Shishen Sho Mahjongg para escritorio y Maemo y, en los últimos meses, la utilidad Meiga, presentada en este congreso. Para estos desarrollos ha intentado siempre tomar ideas interesantes de otras plataformas y tecnologías, buscando la forma de aplicarlas a GNOME.