GTK+/GLib 2.0

Aparte de Bonobo, la otra estrella de GNOME 2.0 es el binomio compuesto por GLib y GTK+ que, para esta nueva versión traen muchas novedades.

GLib es una librería de funciones para programación en C, que contiene multitud de utilidades para facilitar la programación en este lenguaje. Incluye cosas como la gestión de estructuras de datos como listas enlazadas, arrays dinámicos, tablas de búsqueda, árboles binarios, o la gestión de Entrada/Salida asíncrona. Pero, puesto que se busca que esta librería contenga todo lo (razonablemente) posible, para esta versión se ha añadido el sistema de objetos de GTK a GLib, de forma que no sea necesario enlazar con las librerías GTK (que dependen de X Window) para usar este potente sistema de objetos, que permite simular, de una forma bastante transparente para los programadores de C, la programación orientada a objetos, paradigma sobre el que se basan todas las librerías que componen la plataforma GNOME.

GTK+ es la librería que se encarga de los "widgets", tales como los botones, ventanas, cajas de texto, etc. Incluye todo tipo de "widgets" que nos permitiran realizar fácilmente todo tipo de aplicaciones con un interfaz gráfico. En esta nueva versión, las novedades en cuanto a "widgets" se traducen en una limpieza generalizada de los "widgets" existentes en versiones anteriores (procediendo incluso a la calificación como obsoletos de algunos de ellos, como por ejemplo algunos de los tipos de listas), y, por fin, la introducción de un "widget" que permite mostrar datos clasificados en filas y columnas mucho más avanzado que el ya obsoleto GtkCList (que estaba muy, muy limitado).

Pero, la novedad más importante de GTK+ es el uso de Pango para la representación del texto en pantalla. Pango es una librería que permite la representación de texto en distintos alfabetos, teniendo en cuenta todos los detalles de cada uno de estos alfabetos, como la dirección de la escritura, la separación entre caracteres, etc. El uso de Pango en GTK+ es obligatorio, pero totalmente transparente al programador, que sólo tiene que preocuparse de usar caracteres Unicode (un estándar para la representación de caracteres en múltiples alfabetos) para todo el texto que quiera representar en pantalla; GTK+ y Pango se encargaran del resto. Pango viene a cubrir las necesidades que muchos usuarios de paises con alfabetos distintos al occidental para poder usar el sistema X Window. Con Pango, todos estos usuarios podran usar sus escritorios GNOME en su idioma nativo.

Tambien es de destacar la creación de ATK (Accessibility Tool Kit), por parte de la empresa Sun™, que es un conjunto de clases abstractas, integradas en GTK, que permiten el desarrollo de aplicaciones "accesibles" (para personas con deficiencias físicas). Con la introducción de ATK al nivel de GTK+, se espera que esto lleve a la capacitación de TODAS las aplicaciones GNOME de forma que puedan ser usadas sin problemas por personas discapacitadas, algo que, junto con la internacionalización conseguida con Pango, va a hacer aumentar, aun más, el número de usuarios y las posibilidades de GNOME.

Como último, comentar que la versión de GTK+ para Windows, existente desde hace más de dos años, forma ya parte de la distribución oficial de GTK+, lo cual significa que Windows es, desde ya, otra de las plataformas soportadas "oficialmente" por GTK+. Ya hay aplicaciones de la talla del GIMP o Glade que tienen sus correspondientes versiones para el sistema de las ventanas.