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+
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
- ^ (EN) Novità introdotte nella Gtk+ 2 in codice sorgente della Gtk. URL consultato il 2008-05-14.

