martes, 11 de agosto de 2009

ETangoCards

Después de más de un mes sin realizar alguna entrada, aprovecho un momento para comentar acerca de mi proyecto y de informática, un tema que en mi blog está empezando a brillar por su ausencia y no debería ser así.

¿Qué es ETangoCards? Es el titulo de mi proyecto y el nombre de la aplicación que estoy desarrollando este verano,...caluroso verano ;-). Ya hablé un poco sobre lo que es una aplicación de flash cards o tarjetas didácticas, sino se puede consultar la entrada correspondiente en la Wikipedia, tanto en ingles como también ahora en español.

Este post es para comentar algunas metodologías y tecnologías que estoy utilizando durante el desarrollo de ETangoCards, lo primero decir que ya hay un repositorio del proyecto en Gitorius, al final decidí que era más rapido y comodo utilizar Gitorius, así que podeis visitar la página,

http://gitorious.org/etangocards

o clonar el repositorio con Git:

git clone git://gitorious.org/etangocards/etangocards.git

También os comento que como uso C++ como lenguaje de programación e intento darle un enfoque orientado a objetos, estoy utilizando los bindings para este lenguaje de las conocidas bibliotecas como Gtk+, libxml2, etc, que son respectivamente Gtkmm, libxml++,...
Lo de que muchas bibliotecas que dan soporte para C++ en Gnome y Gtk+ terminen en -mm es un detalle curioso. Por lo visto cuando comenzó el proyecto Gtkmm se llamó Gtk--, ya que Gtk+ tenía un + y Gtk++ hubiera sido muy confuso. Pero como el signo - no se puede indexar facilmente decidieron por m en de -, es evindente por qué, ;-).
También me estoy ayudando de las autotools para la compilación y la instalación.
Mencionar también que descubrí la alternativa a los ficheros .glade. Lo normal cuando haces un aplicación con una interfaz gráfica de un cierta envergadura es utilizar la carga dinámiza de las ventanas, etc. Antes esto se hacía con la aplicación Glade, con lo que hacias tus interfaces en un IDE, y se cargaban después con las bibliotecas libglade o libglademm en caso de utilizar C++. Pero esto está deprecated para las siguientes versiones de Gnome. Por lo que tuve que buscar y rebuscar por internet así como preguntar a personas que trabajaban con estas herramientas y nada. Hasta que por fín encontré cuál es la alternativa y se llama GtkBuilder.
Por lo visto es otra parte de Gtk+, y sustituye a libglade. Para usar esto podeis encontrar información en la página de desarrollo de Gnome. Podeis seguir utilizando la herramienta Glade para diseñar vuestras interfaces, y aunque las útlimas versiones guardaban los diseños de manera predeterminada en el formato de GtkBuilder con extensión .ui, podeis utilizar los antiguos diseños en ficheros con extension .glade de una forma facil, simplemente podeis teneis que utilizar la herramienta gtk-builder-convert, para pasar los ficheros con formato Glade a los ficheros con formato GtkBuilder.

Esperando que todo esto os sea de provecho, os dejo hasta la proxima.
See you the next time