Glade
# Glade

Glade (o Glade Interface Designer, que significa ‘Diseñador de interfaces Glade’) es una herramienta de desarrollo visual de interfaces gráficas mediante GTK/GNOME. Es independiente del lenguaje de programación y predeterminadamente no genera código fuente sino un archivo XML (ver sección GtkBuilder). La posibilidad de generar automáticamente código fuente fue descontinuada desde Glade versión 3.

Aunque tradicionalmente se ha utilizado de forma independiente, está totalmente integrado en Anjuta 2. Se encuentra bajo la licencia GPL. Para QT existe un proyecto similar, QtDesigner.

## Historia y desarrollo

El primer lanzamiento de Glade, la versión 0.1, se hizo el 18 de abril de 1998. Y Glade-3 se lanzó el 12 de agosto de 2006. Según el sitio web de Glade, las características más notorias para el usuario final son:

* “Deshacer” y “rehacer” disponible para todas las operaciones.
* Permite abrir varios proyectos simultáneamente.
* Remoción de la generación automática de código fuente.
* Ayuda contextual mediante DevHelp.

Sin embargo, la mayoría de las diferencias son internas. Glade-3 fue reescrito completamente, para poder tomar ventaja de las nuevas características de GTK+ 2 y el sistema GObject (Glade-3 comenzó a escribirse antes de que Glade-2 fuese portado a GTK+ 2). Por lo tanto el código principal de Glade-3 es más pequeño y permite nuevas cosas interesantes, incluyendo:

* Catálogo de widgets "enchufables" ("pluggable" widgets). Esto significa que bibliotecas externas pueden proveer su conjunto de widgets en tiempo de ejecución y Glade los detectará.

    De hecho, Glade-3 soporta sólo widgets estándar de GTK+; los widgets GNOME UI y DB son provistos por separado.
* Las herramientas de Glade (paleta, editor, etc.) son implementadas como widgets. Esto permite una fácil integración con IDEs como Anjuta o Scaffold, y hace que sea más fácil cambiar la interfaz.

## GtkBuilder

GtkBuilder es un formato XML que Glade usa para almacenar los elementos de las interfaces diseñadas. Estos archivos pueden emplearse para construirla en tiempo de ejecución mediante el objeto GtkBuilder de GTK+. GladeXML era el formato que se usaba en conjunto con la biblioteca libglade (ambos obsoletos en favor de GtkBuilder).

GtkBuilder puede ser usado en numerosos lenguajes de programación incluyendo C, C++, C#, Vala, Java, Perl, Python.

