GTK (toolkit)
Il GTK+(acronimo che sta per GIMP ToolKit) è una libreria per la creazione di interfacce grafiche. Sviluppata in linguaggio C, con ambiente nativo X Window System, è distribuita come software libero secondo la LGPL.

La libreria, progettata inizialmente per il programma di grafica GIMP, è divenuta in seguito una diffusa base per dotare i programmi di X Window di una interfaccia utente evoluta, in sostituzione di Motif, insieme alle concorrenti librerie QT. È così divenuta parte fondamentale dell'ambiente desktop GNOME.
Linguaggio
Segue nel suo funzionamento un modello di programmazione orientata agli oggetti.
Sono disponibili adattamenti per linguaggi come il C++, il Perl, il Ruby, il Java e Python.
Per la sua estendibilità, portabilità, e bontà tecnica è stato scelto come componente per altri widget toolkit: i più noti sono WxWidget, e il toolkit di Gnome.
Aspetto
L'utente finale può configurare l'aspetto dell'interfaccia mediante la possibilità di cambiare dei temi (engine secondo la terminologia del software). Si possono così emulare le sembianze di altre librerie o di altri ambienti, come Windows 95, Motif, Qt o NeXTSTEP.
Ambienti per GTK+
L'ambiente GNOME usa Gtk+ come base, il che significa che ogni programma scritto per GNOME usa GTK+ come suo toolkit. Non lo usano solo le applicazioni GNOME, visto che ogni programma GTK+ (o anche un programma GNOME) può girare sugli altri desktop enviroments, come KDE o XFce. Anche il GPE Palmtop Environment usa GTK+ come base. GTK+ gira anche su Microsoft Windows. Alcuni dei porting più inusuali comprendono DirectFB e ncurses.
Codice non collegato alla grafica
GTK+ inizialmente conteneva alcune funzioni che non erano strettamente collegate alla grafica, per esempio forniva la gestione di strutture dati come le liste e gli alberi binari. Insieme con il sistema di gestione degli oggetti GObject, sono migrate in una libreria separata, Glib, che ora i programmatori usano spesso anche se sviluppano codice che non richiede un'interfaccia grafica.
GTK+ 2
GTK+ 2 si è sviluppato con l'intenzione di succedere a GTK+. Tra le nuove caratteristiche bisogna ricordare la gestione migliorata del testo con Pango, un nuovo gestore dei temi, l'accessibilità migliorata attraverso ATK, la completa traduzione verso lo Unicode usando stringhe UTF-8 ed una API più flessibile.
Il principale problema di GTK+ 2 è una certa mancanza di compatibilità con GTK+ 1. Questa complicazione, insieme a considerazioni di velocità di esecuzione per via di una minore complessità della libreria, ha inciso sul fatto che alcune applicazioni usino tuttora le GTK+ 1.
Collegamenti esterni
- (EN) Sito ufficiale