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.

 

Torna all'indice