GTK+
Da Wikipedia, l'enciclopedia libera.
GTK+ |
|
---|---|
Logo GTK+
|
|
Sviluppatore | Gnome Foundation |
Ultima versione | 2.10.11 / 14 marzo, 2007 |
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 bindings 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] 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+
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 ambienti desktop, 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.
[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 è 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 Accessibility Toolkit (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.