Application programming interface: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m spazi |
m rimuovo corsivi inappropriati |
||
Riga 1:
[[File:Database management system diagram from 1978 workshop.png|thumb|alt=Application programming interface|Application programming interface]]
In un [[programma (informatica)|programma informatico]], con
== Caratteristiche ==
Riga 7:
Esistono due linee di condotta per quanto riguarda la pubblicazione delle API:
# Alcune compagnie conservano gelosamente le loro API. Per esempio, [[Microsoft]] fornisce API ufficiali solamente agli sviluppatori [[Xbox]] registrati. Questo perché intende restringere il numero di persone che possono scrivere [[gioco|giochi]] per la [[Console (sistema per videogiochi)|console]] per limitare la pirateria.
# Altre compagnie distribuiscono le API pubblicamente. Per esempio la stessa [[Microsoft]] fornisce al pubblico informazioni sulle sue [[Windows API]], tra cui le [[Microsoft Foundation Classes]] (MFC), per scrivere
Alcune API, come quelle standard di un [[sistema operativo]], sono implementate come una [[Libreria software|libreria]] separata e distribuite con il sistema operativo. Altre API richiedono a chi pubblica il software di integrare l'API direttamente nell'applicazione. Questo costituisce un'ulteriore distinzione nell'esempio precedente.
Le API di Microsoft Windows sono fornite con il sistema operativo e chiunque può utilizzarle. Il
Una API che non richiede il pagamento di diritti per il suo accesso ed utilizzo è detta "aperta". Le API fornite dal [[software libero]], come
In generale l'analisi dell'implementazione di una API per produrne una compatibile costituisce una violazione alla legge. Questa tecnica è chiamata [[reverse engineering|ingegneria inversa]]. La situazione legale in questi casi presenta ambiguità quindi conviene affrontare il problema prima che l'attività di ingegneria inversa sia iniziata. Per esempio, una API può contenere a sua volta un [[brevetto]].
== Finalità ==
La finalità è ottenere un'[[astrazione (informatica)|astrazione]] a più alto livello, di solito tra l'[[hardware]] e il programmatore o tra [[software]] a basso e quello ad alto livello semplificando così il lavoro di [[programmazione (informatica)|programmazione]]. Le API permettono infatti di evitare ai [[programmatore|programmatori]] di riscrivere ogni volta tutte le [[funzione (informatica)|funzioni]] necessarie al programma dal nulla, ovvero dal basso livello, rientrando quindi nel più vasto concetto di [[riuso di codice]]. Le API stesse rappresentano quindi un livello di astrazione intermedio: il
== Posix ==
Poiché esistono molte varianti di API, nel 1985 è stato creato un progetto finalizzato alla creazione di uno standard. La famiglia che racchiude questi standard prende il nome di [[Posix]] (acronimo di
== Esempio di utilizzo ==
|