Da DVG - Il Dizionario dei Videogiochi
L'interfaccia grafica (in inglese Graphical User Interface abbreviato GUI) è un paradigma di sviluppo che mira a consentire all'utente di interagire col computer manipolando graficamente degli oggetti, svincolandolo dall'obbligo di imparare una serie di comandi da impartire con la tastiera come invece avviene con le interfacce testuali command line interface (CLI). È lo strato di un'applicazione software che si occupa del dialogo con l'utente del sistema utilizzando un ambiente grafico.
L'interfaccia grafica nei sistemi operativi moderni è concepita come la metafora di un piano di lavoro rappresentato dallo schermo (detto scrivania o desktop), con le icone a rappresentare i file (di cui alcune a forma di cartellina per le directory) e le finestre a rappresentare le applicazioni.
Tale ambiente di lavoro, in cui si opera attraverso il puntatore comandato con il mouse, è stato concettualizzato nei laboratori Xerox (progetto Alto) e implementato per la prima volta nel 1981 dalla Xerox stessa nel costoso Xerox Star. In seguito, tale paradigma venne ripreso da Apple con il poco fortunato Apple Lisa, ma soprattutto con il rivoluzionario personal computer Macintosh nel 1984. La prima versione a colori della GUI venne introdotta da Commodore con il suo Amiga nel 1985.
La GUI, con la sua semplicità d'utilizzo, per anni ha contrastato le interfacce ostiche e complicate basate ancora sul vecchio principio della linea di comando (Command Line Interface), come UNIX e DOS. In seguito al successo del Macintosh e dell'Amiga, queste caratteristiche innovative sono state mutuate da Microsoft con la creazione del proprio sistema operativo Windows.
Attualmente tutti i sistemi operativi diffusi nel settore dei personal computer sono dotati di una GUI che opera secondo gli stessi principi di quella originariamente studiata da Xerox. Ciò ha causato una evoluzione significativa nell'interazione tra computer e utente: grazie all'interfaccia grafica è possibile compiere molti compiti comuni e complessi senza il bisogno di un'approfondita conoscenza del funzionamento del computer.
I vari framework grafici possono fornire diversi tipi di astrazioni ai programmatori che vogliono costruire interfacce grafiche. Tra queste una molto diffusa e molto comoda è quella del Modello ad eventi con delegati.
Modello ad eventi con delegati:
Modello ad eventi con delegati. Click me è la sorgente, in questo caso di tipo bottone, e ad essa è associata una coda di ascoltatori |
Consideriamo tre entità fondamentali:
Inoltre: