GTK+ es una biblioteca muy poderosa que nos permite crear interfaces gráficas, es sumamente flexible y robusta, pero, en el desarrollo de aplicaciones grandes, como con cualquier otra biblioteca, se vuelve algo difícil de mantener.

Si ha desarrollado aplicaciones a gran escala, se dará cuenta que una inmersión entre los Hbox, VBox, Scrollbars, y demás widgets terminan confundiendo, y logrando que usted gaste más tiempo en imaginar como quedará su interface gráfica al realizar los cambios, si es que realiza los cambios, porque seguro lo pensará dos veces.

Para esto se inventaron los diseñadores de interfaces, programas que crean la interface y después solo es cosa de construir la aplicación. Esto es Glade.
“Glade is a free user interface builder for GTK+79 and GNOME80, released under the GNU GPL License81.”
Glade es un generador de interfaces libre para GTK+ y GNOME, liberado bajo la licencia GNU GPL.

Las interfaces creadas por Glade son guardadas como descripciones en texto plano bajo el formato XML, lo que permite ser utilizadas por libglade82 dentro de nuestra aplicacion para construir la interface descrita.

Glade también puede crear codigo en C,C++ y Ada, aunque no es recomendable, pues se pierde esa individualidad entre el código e interface. Al usar Libglade las interfaces generadas por Glade pueden ser utilizadas en aplicaciones escritas por un gran numero de lenguajes como C, C++, Java, Perl, Python, C#, Pike, Ruby, Haskell, Objective Caml y Scheme; mientras que agregar soporte para otros lenguajes es relativamente sencillo.

Beneficios

Glade presenta los siguientes beneficios.

-Separación entre el Front-end y Back-end. Esto evita que se revuelva el código de aplicación con el código de la interface de usuario, logrando que la aplicación sea mas sencilla de mantener, tanto en el back-end como en la interface de usuario, pues
modificar uno de los elementos no implica necesariamente modificar el otro.

-Código más limpio. Derivado del punto anterior, al no mezclarse la interface con el codigo de aplicación, el codigo fuente del programa es mucho mas legible.

-Desarrollo Rápido de aplicaciones. Al tener un generador de interfaces gráficas es mucho mas sencillo desarrollar las aplicaciones, pues el diseño se puede hacer al vuelo en unos cuantos minutos, después se conectan las señales y listo!.

-Independencia del lenguaje. Esto permite desarrollar ciertas partes de la aplicacion con diferentes lenguajes o compartir alguna interface entre aplicaciones desarrolladas con diferentes lenguajes.
Por ejemplo, Python es utilizado por su facilidad y velocidad de desarrollo como plataforma para crear prototipos, una vez que el prototipo comienza a madurar el backend puede ser cambiado de Python a C por velocidad o a cualquier otro lenguaje que
se necesite.

-Portabilidad. Glade y libglade están disponibles en cualquier plataforma en la que GTK+ se pueda ejecutar, lo que permite usar sus interfaces en los sistemas operativos mas populares: Linux, Microsoft Windows, Sun Solaris, la serie de BSD83,
MacOSX, etc.

-Descripcion en XML. Al tener una descripción en XML es fácil modificar el contenido en un editor de texto plano como Vim, Notepad o cualquier otro. Esto asegura también que nuestra descripción no será cerrada, ni propietaria.

-La licencia GPL solo cubre a Glade y libglade. Gtk+ está liberado bajo GNU/LGPL, una licencia que permite la inclusión de aplicaciones libres en aplicaciones propietarias, y aunque Glade y libglade son liberados bajo la licencia GNU/GPL que no
permite la inclusión de estos componentes en aplicaciones propietarias, sus descripciones de interface no son cubiertas por la licencia, lo que permite utilizarlas para crear aplicaciones propietarias.

 

Fuente:

INSTITUTO DE ESTUDIOS SUPERIORES DE POZA RICA
Ingenieria en Sistemas Computacionales
Tesis: Desarrollo de aplicaciones con Python,
PyGTK y Glade
Por Marco Antonio Islas Cruz