Interfaccia grafica

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 (es. widget) piuttosto che utilizzando i comandi tipici di…

Interfaccia grafica
Immagine: w:User:Grm wnr — CC BY-SA 3.0 — Wikimedia Commons

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 (es. widget) piuttosto che utilizzando i comandi tipici di un'interfaccia a riga di comando (vedi shell e front end). Apparve negli anni ottanta: tra i primi esempi il Macintosh 128K di Apple, presentato nel gennaio 1984, anche se limitato dal monitor in bianco e nero; nel gennaio del 1985 Atari Corporation presentò l'Atari ST, sempre con interfaccia grafica monocromatica.

Descrizione

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.

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.

Implementazione

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.

Nei sistemi operativi

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 (se sono a forma di cartellina rappresentano 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 interfacce grafiche WIMP si diffusero progressivamente introdotte negli altri 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 direttamente all'interno dei sistemi operativi.

Attualmente tutti i sistemi operativi diffusi nel settore dei personal computer sono dotati di un'interfaccia grafica 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 diversi fra loro, anche complessi, senza il bisogno di un'approfondita conoscenza del funzionamento del computer.

Servizi correlati

Altre voci

C

Customer Interaction Management

Per Customer Interaction Management (CIM) si intende la gestione dei contatti intercorsi fra aziende e clienti, sia a livello di customer care che nell'ambito delle vendite (teleselling) e della promozione di prodotti. A tal proposito possono essere utilizzati software aziendali dedicati alla…

Leggi la voce →
SAS (software)S

SAS (software)

SAS (in origine "Statistical Analysis System") è un complesso di prodotti software integrati (sviluppati dal SAS Institute) che permettono ad un programmatore:

Leggi la voce →
N

Nastran

NASTRAN è un programma di analisi agli elementi finiti (FEA) che è stato originariamente sviluppato per la NASA alla fine degli anni '60 con il finanziamento del governo degli Stati Uniti per l'industria aerospaziale. La MacNeal-Schwendler Corporation (MSC) era uno degli sviluppatori principali…

Leggi la voce →
I

IEC 61508

Lo IEC 61508 è uno standard internazionale che disciplina l'intero ciclo di vita dei prodotti e dei sistemi elettrici, elettronici o elettronici programmabili (E/E/PE) relativi alla sicurezza, inclusi la loro applicazione, progettazione, utilizzo e manutenzione.

Leggi la voce →
C

Collaudo del software

Il collaudo del software (anche software testing in lingua inglese), in informatica, indica un procedimento, che fa parte del ciclo di vita del software, utilizzato per individuare le carenze di correttezza, completezza e affidabilità delle componenti software in corso di sviluppo. Consiste…

Leggi la voce →
C

Code smell

Nell'ingegneria del software, e in particolare nel contesto dello sviluppo agile e dell'extreme programming, l'espressione code smell (letteralmente "puzza del codice") viene usata per indicare una serie di caratteristiche che il codice sorgente può avere e che sono generalmente riconosciute…

Leggi la voce →