Interfaccia grafica

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search
Nota disambigua.svg Disambiguazione – "GUI" rimanda qui. Se stai cercando altri significati, vedi GUI (disambigua).
Interfaccia grafica X Window System in un sistema Unix-like

L'interfaccia grafica (nota anche come GUI (dall'inglese Graphical User Interface), in informatica è un tipo di interfaccia utente che consente l'interazione uomo-macchina in modo visuale utilizzando rappresentazioni grafiche piuttosto che utilizzando una interfaccia a riga di comando.

Hanno cominciato ad apparire negli anni 1980, tra i primi esempi il Macintosh 128K di Apple, presentato nel gennaio 1984, anche se limitata dal monitor in bianco e nero; nel gennaio del 1985 Atari Corporation aveva presentato l'Atari ST, anche se l'interfaccia grafica era monocromatica.

Descrizionemodifica | modifica wikitesto

Con l'espressione «interfaccia grafica» si indica l'interfaccia di un qualunque programma: dal sistema operativo, al software applicativo. Nel primo caso, si intendono gli ambienti desktop, mentre nel secondo si indica lo strato software che realizza e gestisce le tipiche finestre che proprio nell'ambiente desktop sono ospitate e contrapposta alla logica di elaborazione.

Paragone tra interfacce grafiche e interfacce a riga di comandomodifica | modifica wikitesto

Magnifying glass icon mgx2.svgLo stesso argomento in dettaglio: Shell (informatica) e Interfaccia a riga di comando.

L'interfaccia grafica consente all'utente di interagire con il computer manipolando graficamente degli oggetti in maniera molto user-friendly, al contrario di quanto avviene sulla cosiddetta riga di comando di una interfaccia a riga di comando, in cui l'esecuzione del programma viene guidata da istruzioni o comandi impartiti dall'utente tramite tastiera.

Se con l'interfaccia grafica è possibile fornire al software una grafica accattivante e una rinnovata semplicità d'uso, anche l'interfaccia a riga di comando ha i suoi vantaggi. Infatti, si tende ad utilizzare maggiormente quest'ultima dove la semplicità d'uso deve lasciare il passo ad esigenze di maggiore controllo sull'esecuzione del programma,

  • sia quanto alle istruzioni inserite: si pensi ad es. all'uso che se ne è fatto nel tempo, e si fa tuttora, in ambito Unix;
  • sia quanto alle informazioni restituite dal programma: ad es. strumenti di sviluppo e di analisi del codice; uso durante il debugging di un'applicazione; manipolazione di dati tramite la redirezione e il piping.

Nulla vieta di realizzare un software dotato d'interfaccia grafica, che sia in realtà un wrapper per uno o più programmi dotati della sola interfaccia a riga di comando; un esempio è il noto programma GParted. In realtà, questo è avvenuto al livello del sistema operativo, nei primi tempi in cui si sono diffuse le interfacce grafiche di sistema (sia per Windows, sia per Linux), e avviene tutt'oggi su Linux, nel quale la shell grafica è uno strato posto "al di sopra" della shell testuale, non lo sostituisce, ed è nettamente separato da essa.

Desktop environmentmodifica | modifica wikitesto

Magnifying glass icon mgx2.svgLo stesso argomento in dettaglio: Desktop environment e Metafora della scrivania.

Nei sistemi operativi moderni l'interfaccia grafica è concepita tramite la metafora di un piano di lavoro rappresentato dallo schermo (detto scrivania o desktop), con le icone a rappresentare i file (di esse sono 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, fu concettualizzato nei laboratori Xerox (progetto Alto) e commercializzato per la prima volta nel 1981 dalla Xerox stessa con il costoso Xerox Star. In seguito, tale paradigma venne ripreso da Apple nel 1983, con lo sfortunato Apple Lisa, e nel 1984, con il più fortunato Macintosh. La prima versione d'interfaccia grafica (GUI) WIMP a colori venne introdotta nel 1985 da Atari con l'Atari 520ST, seguita a distanza di due mesi da Commodore International con l'Amiga 1000.

Le GUI WIMP furono progressivamente introdotte nei diversi sistemi operativi, prima sotto forma di ambiente operativo (cioè come software integrativo del sistema operativo) acquistabile separatamente (nel dicembre 1983 Visi On della VisiCorp, nel febbraio 1985 GEM della Digital Research, e nel novembre 1985 Microsoft Windows della Microsoft), poi all'interno dei SO stessi.

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.

Implementazione di interfacce grafichemodifica | modifica wikitesto

I vari framework grafici possono fornire diversi tipi di astrazioni ai programmatori che vogliono costruire interfacce grafiche. Tra queste una molto diffusa e molto intuitiva è quella del modello ad eventi con delegati.

Modello ad eventi con delegatimodifica | modifica wikitesto

Modello ad eventi con delegati. Click me è la sorgente, in questo caso di tipo bottone, e ad essa è associata una coda di ascoltatori

Questo modello parte dal presupposto che sia l'utente a decidere il percorso che l'esecuzione del programma dovrà seguire. All'utente sono resi disponibili diversi widget, ognuno dei quali attiva l'esecuzione di determinate parti del programma su richiesta. L'interazione tra utente e oggetti grafici avviene tramite i noti dispositivi di input come la tastiera, il mouse, i pulsanti del mouse, la rotellina del mouse, il touchpad.

Il caso più semplice è quello di un pulsante come quello rappresentato in figura. Al pulsante sono associati zero o più listeners, cioè entità di programma ad ognuno dei quali, a sua volta, è associata una determinata sequenza di istruzioni. In fase di esecuzione, ogni volta che l'utente compie l'azione di "attivare" il pulsante, quest'ultimo riceverà una notifica dal sistema operativo ed attiverà tutti i listeners associati. Nel caso particolare del pulsante, l'azione "attivare" consiste tipicamente nel fare clic con il mouse mentre il cursore si trova sul componente, ma ad es. può essere avviata anche nel caso della pressione del tasto Invio se il componente grafico ha correntemente il focus.

In gergo, si dice che il componente grafico genera un evento che viene notificato ai listeners.

Il modo in cui i listeners sono realizzati nello specifico varia a seconda del linguaggio e della libreria grafica in uso. Ad esempio, possono essere funzioni individuate tramite puntatori, oppure oggetti che espongono determinati metodi standard, e così via. Poiché il listener è realizzato all'esterno del componente grafico, è ovvio che le modalità di interazione tra componente e listener devono essere stabilite a priori in modo standard (standard che, anch'esso, dipende dal linguaggio e dalla libreria grafica di riferimento).

Voci correlatemodifica | modifica wikitesto

Altri progettimodifica | modifica wikitesto

Collegamenti esternimodifica | modifica wikitesto

Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica