Application programming interface: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Correzioni
Correzioni
Riga 7:
## Preparare una matrice di quadrati bianchi e neri avente la forma di ognuna delle lettere
## Ideare un modo per programmare la [[CPU]] in modo che ponga questa matrice nel ''frame buffer'' della scheda video.
## Predisporre la scheda video per generare il segnale corretto a partire dal contenuto ''frame buffer''.
# Utilizzare un [[sistema operativo]] per effettuare parte del compito:
## Caricare in memoria una struttura dati chiamata "font" fornita dal sistema operativo.
Riga 16:
## Aprire il documento con un [[web browser]].
 
Ovviamente, lal'approccio primadel opzioneprimo livello richiede molti passaggi ed ognuno di questi è molto più complesso di quelli nelledei opzionilivelli successivesuccessivi. Inoltre,Altro èsvantaggio pocodel praticoprimo utilizzareapproccio ilè primoche approccioè poco pratico utilizzarlo nel caso in cui sia necessario visualizzare una certa quantità di informazioni sullo schermo, come quelle di un articolo di enciclopedia, col secondo approccio l'operazione è molto più semplice e nel terzo è sufficiente scrivere "Hello World". In ogni modogenere utilizzare API di livello più alto di solito comporta una certa perdita di flessibilità; per esempio, potrebbe essere molto difficile ina unlivello di web browser ruotare attorno ad un punto un testo con i bordi lampeggianti, mentre questo compito potrebbe essere svolto in modo semplice ad un livello più basso. Questa differenza è un tipico esempio di compromesso che si può incontrare utilizzando un'API.
 
Le API sono essenziali per i computer come gli standard elettrici lo sono per una [[casa]]. Chiunque può inserire la spina del tostapane nella presa a muro della sua casa o dal vicino perché entrambe le case sono conformi ad uno standard. Se non ci fosse una interfaccia standard, occorrerebbe avere una centrale elettrica per fare un ''toast''. Niente vieta che esistano più tipi di interfacce diverse, per esempio un tostapane europeo non può funzionare negli Stati Uniti senza un [[trasformatore]] similmente ad un programma scritto per [[Microsoft Windows]] che non può essere eseguito direttamente sun un [[UNIXUnix| sistema UNIX]] senza un ''[[API adapter]]'' come [[WINE]].
 
Esistono vari [[design model]] per le API. Le interfacce intese per la massima velocità di esecuzione spesso consistono in una serie di [[Subroutine|funzioni]], [[procedura|procedure]], [[variabile|variabili]] e [[struttura dati|strutture dati]]. Esistono anche altri modelli come gli [[interprete (software)|interpreti]] usati per valutare le espressioni come con [[ECMAScript]]/[[Javascript]]. Una buona API fornisce una "scatola nera" o un livello di astrazione che evita al programmatore di sapere come funzionano le API ad un livello più basso. Questo permette di riprogettare o migliorare le funzioni all'interno dell'API senza cambiare il codice che si affida ad essa.