GTK+

Da Wikipedia, l'enciclopedia libera.


GTK+

Logo GTK+
Sviluppatore Gnome Foundation
Ultima versione 2.12.9 / 12 marzo, 2008
SO Multi piattaforma
Genere Toolkit grafico
Licenza LGPL
Sito web www.gtk.org


Il GTK+ (acronimo che sta per GIMP ToolKit) è un toolkit (insieme di strumenti, di cui il principale è la libreria libgtk) per la creazione di interfacce grafiche. Sviluppato in C, supporta nativamente l'ambiente grafico X Window System e Microsoft Windows ed è software libero (parte del progetto GNU) secondo la licenza LGPL.

Il toolkit, progettato inizialmente come ausilio alla programmazione per il noto programma di grafica GIMP, ha acquisito popolarità scavalcando Motif e divenendo parte fondamentale dell'ambiente desktop GNOME. Parallelamente anche le concorrenti librerie Qt (su cui si basa il progetto KDE) hanno raggiunto un bacino di utenti e sviluppatori molto vasto.

Indice

[modifica] Linguaggio

GTK+ usa il linguaggio di programmazione C esteso grazie a Glib e GObject al paradigma della programmazione orientata agli oggetti. GNOME fornisce binding per linguaggi come il C++, il Perl, il Ruby, il Java e Python (PyGTK). Altri hanno aggiunto anche il supporto ad altri linguaggi come Ada, D, Haskell, Pascal, PHP, Pike e .NET.

Per la sua estendibilità, portabilità, e bontà tecnica è stato scelto come componente per altri widget toolkit: i più noti sono wxWidgets, e il toolkit del già citato GNOME.

[modifica] Piattaforme

In origine la GTK+ era destinata solo all'X Window System, che comunque rimane la piattaforma di riferimento. Attualmente può essere istallata su Microsoft Windows (dalla versione 2.8 è richiesto Windows 2000 o superiore), DirectFB, e Quartz (Mac OS X v10.4 o superiore, ancora in sviluppo).

[modifica] Aspetto

L'utente finale può configurare l'aspetto dell'interfaccia a suo piacimento grazie alla possibilità di cambiare il tema utilizzato. Si possono così emulare le sembianze di altre librerie o di altri ambienti, tra i quali Windows 95, Motif, Qt o NEXTSTEP.

[modifica] Ambienti per GTK+

Screenshot di  GIMP 2.0 su XFce4
Screenshot di GIMP 2.0 su XFce4

Le librerie Gtk+ sono parte integrante del progetto GNOME e sono perciò le fondamenta dell'interfaccia utente di ogni programma sviluppato per GNOME. La versatilità e la relativa leggerezza hanno consentito alla Gtk+ di essere alla base di altri desktop environment considerati più leggeri, tra i quali figurano Xfce, il ROX Desktop e il GPE Palmtop Environment.

[modifica] Codice non collegato alla grafica

GTK+ inizialmente conteneva alcune funzioni di utilità (ovvero degli ausili per il programmatore) che non erano strettamente collegate alla grafica: per esempio forniva la gestione di strutture dati come le liste e gli alberi binari. Dalla versione 2.4 il sistema di gestione degli oggetti GObject e altre funzionalità ausiliarie sono migrati in una libreria separata Glib, per permettere ai programmatori di usarle anche se sviluppano codice che non richiede un'interfaccia grafica o altre librerie come ad esempio il progetto GStreamer.

[modifica] GTK+ 2

GTK+ 2 si è sviluppata con l'intenzione di sostituire e migliorare la GTK+. Tra le nuove caratteristiche[1], inserite gradualmente già dalla GTK+ originale, si segnalano:

  • un gestore dei temi (introdotto già dalla versione 1.2.0 ma rielaborato successivamente per consentire la personalizzazione di ogni singolo elemento grafico)
  • una gestione migliorata del rendering del testo con Pango (introdotto nella versione 1.3.1)
  • una API più flessibile a seguito dello spostamento della logica ad oggetti nella libreria GObject (dalla versione 1.3.1)
  • la completa transizione a Unicode con l'adozione di stringhe UTF-8 (dalla versione 1.3.2)
  • accessibilità migliorata con l'uso della libreria ATK (a partire dalla versione 1.3.5)

La libreria GTK+ 2 non è compatibile con la GTK+ originale. Questo, insieme a considerazioni sulla maggior lentezza di esecuzione a seguito dell'adozione dell'unicode, ha inciso sul fatto che alcune applicazioni usino ancora la GTK+ originale.[citazione necessaria]

[modifica] Note

  1. ^ (EN) Novità introdotte nella Gtk+ 2 in codice sorgente della Gtk. URL consultato il 2008-05-14.

[modifica] Collegamenti esterni

Strumenti personali