Come iniziare
Gnome e Gtk+ sono inclusi in tutte le attuali distribuzioni Linux.
Consistono in una serie di pacchetti essenzialmente composti da librerie facilmente integrabili con i più diffusi linguaggi di programmazione disponibili nell'universo Unix, anche se trovano la loro collocazione "naturale" in applicazioni scritte in C.
E' buona norma assicurarsi di avere installato il pacchetto
gtk+-devel che contiene un tutorial ed una directory di esempi che illustrano il funzionamento dei singoli widget che offre il Gtk (di solito inseriti in
/usr/doc oppure /usr/local/doc).
Chi volesse comunque reperire versioni più aggiornate delle librerie può trovare i relativi pacchetti sui siti ufficiali:
Gnome
Gtk+
Chi volesse comunque avere informazioni aggiornate sullo sviluppo di Gnome o desiderasse far parte del team di sviluppo può consultare il sito:
Gnome developer
Una volta assicurati che siano presenti i pacchetti Gnome e Gtk+ nel vostro sistema non resta che includere i relativi header nei vostri programmi C ed avrete a disposizione tutto ciò che vi occorre per costruire le vostre applicazioni.
Per lo sviluppo di applicazioni Gnome Gtk+ è inoltre disponibile
GLADE, un potente "interface builder" del tutto free che vi faciliterà di molto le cose, non solo generandovi automaticamente l'interfaccia grafica da voi disegnata, ma soprattutto l'intero albero di sorgenti di una tipica applicazione
Gnome. Anche Glade è generalmente compreso nelle attuali distribuzioni Linux e comunque è facilmente reperibile sul sito:
Glade
Gtk+ e Gnome non sono imprescindibili l'uno dall'altro.
Gtk+ è essenzialmente una raccolta di librerie grafiche mentre Gnome è una sottostruttura che si propone di diventare standard e modello di un "look-and-feel" coerente per le applicazioni scritte per X Window.
Al proposito si è creata un po' di confusione dato che Gnome usa a sua volta le librerie Gtk che anzi integra con una serie di widget aggiuntive.
Per capire cosa sono esattamente Gnome e Gtk+ ed i rapporti che li legano si rinvia all'articolo espressamente scritto su questo argomento nella relativa sezione.
Qui basta osservare che Gtk+ può essere usato indipendentemente da Gnome come pacchetto di librerie base per creare interfacce grafiche utente. Il tutto rigorosamente in ANSI C, molto portabile e progettato per l'utilizzo su sistemi UNIX-like.
Sono comunque disponibili dei wrapper sulle API per quasi tutti i linguaggi esistenti che trovate ai seguenti
link:
Ada95
C++
Dylan
Eiffel
Guile
Haskell
JavaScript
Objective C
Objective Caml
Objective Label
Pascal
Perl
Pike
Python
TOM
Per quanto poi riguarda il porting sotto altri sistemi operativi :
GTK+ on Win32
GTK+ on BeOS
Come abbiamo già evidenziato Gnome e Gtk+ consistono essenzialmente in una serie di librerie per costruire applicazioni dotate di interfaccia grafica.
Il presente tutorial si pone dunque lo scopo di illustrare i passaggi necessari per arrivare a costruire un'applicazione
Gnome/Gtk+.
Anzitutto dobbiamo specificare che pur se
Gnome/Gtk possono essere in genere adottati con quasi tutti i linguaggi di programmazione trovano la loro collocazione naturale con il C. Useremo dunque questo linguaggio per gli esempi
Ripetiamo poi che Gtk+ può essere utilizzato indipendentemente da
Gnome, mentre non è possibile il contrario in quanto Gnome comprende il
Gtk+.
Abbiamo inoltre già detto che Gnome e Gtk+ sono entrambi dipendenti dalla libreria generale Glib che è naturalmente compresa nei relativi pacchetti.
Per costruire la nostra prima applicazione dovremo quindi dapprima decidere se usare Gnome o solo
Gtk+.
Avremo inoltre bisogno di una minima descrizione della libreria Glib, dei widget messi a disposizione da Gnome e Gtk+, di come integrarli nella nostra applicazione C ed infine di come interagire con essi (teoria dei segnali).
Questo tutorial sarà quindi così strutturato:
1 Struttura di un applicazione Gnome
2 Struttura di un'applicazione Gtk+
3 Introduzione a Glib
4 Teoria dei segnali
5 Panoramica dei widget messi a disposizione dalle librerie Gtk+
6 Il primo programma
Il tutorial seguirà specificatamente il tutorial ufficiale delle librerie GTK+ che cercheremo di riassumere e tradurre nel miglior modo possibile.