Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
VINCENZO GERVASI<br />
La creazione delle GUI<br />
Una panoramica sugli strumenti sopware @arte I)<br />
"-r ", e al<br />
che devono essere chiamate dall'applicazione per costruire<br />
e visualizzare gli elementi dell'interfaccia e per ricevere<br />
informazioni sulle azioni dell'utente. La costruzione<br />
programmatica di un'interfaccia complessa è un compito<br />
da non sottovalutare: a questo proposito ci viene in<br />
aiuto il secondo elemento di cui abbiamo parlato, il GW<br />
builder, owero un costruttore di interfacce grafiche. Con<br />
uno di questi programmi, la creazione della GUI diventa<br />
unloperazione molto immediata, che spesso si riduce alla<br />
Clè stato un tempo felice in cui la definizione dell'interfaccia<br />
utente di un programma iniziava e finiva con la<br />
scelta di un po' di "-p,<br />
più uno o due nomi di file. S'intende, quelli erano tempi<br />
felici per i programmatori, ma non per gli utenti, in nome<br />
dei quali, poco alla volta, finestre, pulsanti, click e<br />
doppi click sono arrivati a popolare gli incubi dei programmatori.<br />
Forse qualcuno dei lettori avrà provato l'ebrezza di creare<br />
un'interfaccia utente grafica dal nulla, magari in BA-<br />
SIC su un vecchio Commodore 64, e avrà ben presenti<br />
gli infiniti dettagli cui occorre prestare attenzione. ort tunatamente<br />
per noi, però, oggi esistono numerosi am-<br />
&enti per la creazione di GUI e il nostro <strong>Amiga</strong> è particolarmente<br />
ben fornito al riguardo: anzi, tanto ben fornit0<br />
che a volte non è facile scegliere l'ambiente di sviluppo<br />
di GUI più adeguato. Per questo motivo, faremo un<br />
veloce esame dei sistemi disponibili in ambito PD o Shareware,<br />
senza pretesa di esaustività (anche perché il quadro<br />
si modifica di giorno in giorno), ma con l'intento di<br />
fornire un'utile "panoramica" ai lettori.<br />
Framework e Builder<br />
Due sono essenzialmente gli strumenti cui un programmatore<br />
può ricorrere per semplificare la costruzione di<br />
un'interfaccia grafica. I1 primo è costituito da un cosiddetto<br />
framework, owero un insieme di routine già predisposte,<br />
insieme alle relative regole d'uso, destinate a vari<br />
compiti quali il disegno su schermo di finestre, icone e<br />
pulsanti, la gestione delllinput da parte dellIutente e il<br />
dialogo con l'applicazione. L'uso di un framew0l-k di un<br />
qualche tipo è pressoché indispensabile nella realizzazione<br />
di qualunque applicazione non banale (con la notevole<br />
eccezione di alcuni giochi) e la sua scelta può influenzare<br />
anche di molto l'aspetto, la velocità e la praticità<br />
della GUI risultante. Tutti i framework offrono un'interfaccia<br />
programmatica, ovvero una serie di funzioni<br />
disposizione degli elementi necessari, scelti fra quelli for-<br />
niti da un dato framework, all'interno di una finestra<br />
(metodo del "drag&dropn).<br />
Inutile rimarcare che la GUI prodotta da un builder offre<br />
un grandissimo vantaggio in fase di sviluppo: è infatti<br />
possibile effettuare una prototz@azione rapida dell'applicazione,<br />
verificando subito l'adeguatezza della GUI implementata<br />
al problema che si sta affrontando; allo stesso<br />
modo, è possibile (e semplice) apportare immediatamente<br />
i cambiamenti richiesti, senza dover rimettere mano su<br />
grosse porzioni di codice.<br />
Naturalmente, come in tutte le cose, c'è un prezzo da pagare<br />
per questi vantaggi: può trattarsi di una perdita di<br />
velocità, di una maggiore occupazione di memoria o dell'impossibilità<br />
di implementare una data caratteristica nel-<br />
I'interfaccia del proprio programma; è compito del programmatore<br />
valutare i pro e i contro di ogni possibile soluzione<br />
(che noi cercheremo sempre di mettere in evidenza)<br />
per poi scegliere quella più adeguata.<br />
I framework di sistema<br />
Sappiamo bene che ogni <strong>Amiga</strong>, nel momento in cui<br />
esce dalla sua scatola, è già dotato di una GUI: si tratta<br />
del familiare ambiente del Workbench e di tutte le altre<br />
utility incluse nei sistema. In effetti, <strong>Amiga</strong>OS fornisce<br />
ben tre framework "nativi": si tratta di Intuition, della<br />
gadtools.libras- e del sistema BOOPSI.<br />
Intuition è il più antico dei tre, essendo nato (insieme<br />
all'<strong>Amiga</strong>) nel 1985, e sta alla base di praticamente tutti<br />
Il< 1 > I L