Questo capitolo espone brevemente le tecnologie descritte in questo libro.
Gnome è un progetto di sviluppo di software libero iniziato nel 1997 da Miguel de Icaza della Università Nazionale Autonoma del Messico e da un piccolo gruppo di programmatori sparsi per il mondo. Ispirato dal successo del progetto K Desktop Environment (KDE), dalla crescente popolarità del sistema operativo GNU/Linux e dalla potenza del toolkit grafico GTK+, Gnome è cresciuto molto rapidamente . Dopo un anno, centinaia di sviluppatori sono coinvolti e migliaia di linee di codice sono state scritte. Gnome è diventato una potente struttura per lo sviluppo di applicazioni con interfaccia grafica utente (GUI) su qualunque versione moderna di UNIX.
"Gnome" è l'acronimo per GNU Network Object Model Environment. Originariamente, il progetto era finalizzato alla creazione di una struttra per oggetti di applicazione, molto simile alle tecnologie OLE e COM di Microsoft. Ad ogni modo lo scopo del progetto si è ampliato rapidamente; era chiaro che che bisognava lavorare su strati più bassi prima che i "network objects" potessero diventare realtà. L'ultima versione in sviluppo di Gnome include una architettura di embedding per oggetti chiamata Bonobo, e Gnome 1.0 include un ORB veloce, leggero, compatibile con CORBA 2.2, chiamato ORBit.
Gnome è parte del Progetto GNU, il cui fine principale è lo sviluppo di un sistema operativo libero (chiamato GNU) più tutte le applicazioni necessarie per l'uso di questo. GNU significa "GNU's Not Unix" (GNU non è UNIX), un modo umoristico per dire che il sistema operativo GNU è compatibile con UNIX. Maggiori informazioni su GNU sono disponibili a http://www.gnu.org.
Gnome ha due aspetti importanti. Dal punto di vista dell'utente è un ambiente di lavoro integrato e una suite di applicazioni. Da quello dello sviluppatore è una potente struttura per lo sviluppo di applicazioni (composta da utili librerie). Tutte le applicazioni scritte con le librerie di GNOME funzionano benissimo anche se l'utente non sta utilizzando l'ambiente, ma si integrano perfettamente se questo si rende disponibile.
L'ambiente include un file manager, un "pannello" per la gestione e avvio delle applicazioni e delle applet, un "centro di controllo" per la configurazione dell'ambiente, e molti altri piccoli programmi di utilità. Tutte queste applicazioni nascondono la tradizionale riga di comando di UNIX dietro a una interfaccia grafica facile da utilizzare.
La struttura di sviluppo di GNOME rende possibile scrivere applicazioni coerenti, facili da usare e con alta interoperabilità. Gli sviluppatori del sistema X Window fecero la deliberata scelta di non imporre nessuna politica sulla interfaccia utente; Gnome ne aggiunge una soltanto, quella di creare un look-and-feel coerente. Una volta completate le applicazioni Gnome funzionano molto bene nell'ambiente integrato, ma possono anche essere usate singolarmente -- gli utenti devono soltanto installare le librerie condivise di Gnome. È anche possibile scrivere applicazioni Gnome che non dipendono dal sistema X Window, ad esempio quando si vuole fornire un servizio CORBA non grafico.
Questo libro tratta di Gnome dal punto di vista dello sviluppatore. Descrive come poter sviluppare una applicazione Gnome utilizzando le librerie e gli strumenti disponibili.