Conecta con nosotros

Hola, ¿qué estás buscando?

Actualidad

Tiny Backup: tú también puedes hacerlo

Nota: este artículo ha sido redactado por uno de nuestros lectores, David Saltares, que desarrolló una pequeña aplicación llamada TinyBackup -tenéis más datos sobre ese lanzamiento en su blog, donde podéis encontrar otros proyectos suyos- y que se ha animado a explicarnos las bases sobre las cuales se basó su desarrollo. Como podréis comprobar, desarrollar un proyecto Open Source propio no es tan complicado como podría parecer.


Si eres de los que te gusta trastear con tu sistema GNU/Linux es probable que en multitud de ocasiones toques donde no debes y te veas obligado a reinstalar el sistema operativo. En ese caso comprendería perfectamente que hacerte con todos los paquetes a mano te suponga un dolor indescriptible.

Personalmente me he visto en la misma situación más veces de las que me gustaría y no aguantaba más. El tedio de numerosas reinstalaciones y las ganas de aprender el lenguaje de scripting orientado a objetos Python me llevaron a desarrollar Tiny Backup.

Tiny Backup

Tiny Backup es una sencilla utilidad que permite guardar una copia de la lista de paquetes instalados en nuestro sistema así como de los repositorios registrados. Imagina que, de pronto, tu sistema operativo deja de funcionar y tienes que comenzar de nuevo. En el mejor de los casos tendrás tu home en una partición distinta y tu configuración se habrá salvado.

Simplemente deberás restaurar todo el software utilizando los ficheros de paquetes y repositorios que guardaste con Tiny Backup. Hasta aquí ofrece algo parecido a lo que hacen otras aplicaciones de la misma familia, no obstante, Tiny Backup cuenta con algunos detalles que le dan interés adicional.

¿Qué pasa si mi disco duro se estropea? No tendrás copia de seguridad que valga a menos que la guardes en un dispositivo extraíble. Tiny Backup ofrece la solución adicional de enviar los ficheros de respaldo por correo electrónico. Por el momento soporta GMail, Hotmail y Yahoo aunque se pueden añadir más servicios si alguien lo demandara. Además, Tiny Backup tiene una interfaz muy sencilla y es tremendamente liviano (100KB con la licencia GPL v3 incluida).

Antes de utilizarlo es necesario instalar sus dependencias, para ello ejecutamos:

sudo apt-get install python python-gtk2-dev

Para ejecutarlo podemos ingresar el siguiente comando o asignárselo a un acceso directo del panel de aplicaciones:

Advertencia, desplázate para continuar leyendo
python /ruta-a-tinybackup/main.py

Como ya habrás supuesto está liberado bajo una licencia GPL v3 y puedes hacerte con él descargando el paquete correspondiente en su repositorio de Google Code. Si encuentras cualquier fallo o encuentras alguna posible mejora te estaría muy agradecido si me lo comunicases en mi blog.

Descargar Tiny Backup 0.1

El desarrollo de Tiny Backup

Como he mencionado al comienzo del artículo, desarrollé Tiny Backup en un par de días para asentar lo poco que sabía sobre Python (un magnífico lenguaje, por cierto). Actualmente estoy terminando Ingeniería Técnica en Informática de Gestión y si algo he aprendido en este tiempo es que la mejor manera de hacerse con una tecnología (librería, lenguaje o técnica de programación) es programando. Por supuesto si es desarrollando algo que te interesa, muchísimo mejor.

Tiny Backup utiliza las librerías GTK (concretamente el binding para Python llamado PyGTK) para la interfaz de usuario. Su carácter libre y multiplataforma (GNU/Linux, Windows y Mac) y su compatibilidad con multitud de lenguajes les confieren especial interés.

Glade, un gran editor de interfaces

Para diseñar la interfaz utilicé Glade, un imprescindible en el desarrollo de aplicaciones de escritorio utilizando GTK. Desde Glade diseñamos cada uno de los formularios y diálogos que compondrán nuestra aplicación para guardarlos en formato XML. La API de GTK se encargará de cargar dicho XML y renderizar muestra maravillosa interfaz de usuario.

¿Qué ventajas nos aporta esto? La principal es la posibilidad de separar completamente la vista del código de nuestra aplicación. Si has utilizado algún IDE como Eclipse o Netbeans habrás comprobado que genera una tremenda cantidad de código para reconstruir la interfaz que hemos diseñado. Cada vez que lo pienso me entran escalofríos no sólo porque necesitemos recompilar el sistema tras cada modificación sino que el código se ensucia sobremanera.

Los más puristas del patrón de diseño “Arquitectura en tres capas” apreciarán la elegancia de separar radicalmente la GUI de la lógica. Si sólo necesitamos realizar pequeñas modificaciones en la interfaz es muy probable que ni siquiera tengamos que tocar una mísera línea de código. La modularidad y la independencia se ven potenciadas.

Glade cuenta con muchas más ventajas como la opción de decidir como se redistribuirán los componentes en un formulario cuando redimensionamos el mismo. Además es muy intuitivo y sencillo de usar. Si aún no te he convencido debes saber que muchas aplicaciones han sido desarrolladas con PyGTK y Glade, por ejemplo el estupendo reproductor de audio Exaile.

Los interesados pueden acudir a este genial tutorial para iniciarse.

Para terminar

En último lugar me gustaría agradecerle a Picajoso haber contactado conmigo tras mi comentario en el artículo sobre las CSS en GTK para invitarme a hablar sobre Tiny Backup y su desarrollo. Por supuesto, gracias a los lectores por aguantar este tocho de considerables dimensiones :)

¡Un placer y hasta pronto!

28 Comentarios

Te recomendamos

Actualidad

El pasado 28 de abril de 2011 llegaba al mercado la versión final de Ubuntu 11.04 Natty Narwhal, una distribución que ya de por...

Actualidad

Hace menos de seis meses que publiqué el extenso análisis de Ubuntu 11.04, y en aquella ocasión dejé claras mis impresiones: Unity había provocado...

Actualidad

Ciertamente, tener a Linux en las escuelas o, dicho con más propiedad, tener a GNU/Linux en las escuelas, no debería ser una pregunta abierta...

Actualidad

Fantástico el artículo que nos presentan en Wazi y que nos hace un recorrido por algunos de los trucos más potentes a la hora...