Application programming interface: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Lornova (discussione | contributi)
mNessun oggetto della modifica
Riga 25:
 
# Alcune compagnie conservano gelosamente le loro API. Per esempio, la [[Sony]] fornisce le API ufficiali solamente agli sviluppatori per la [[PlayStation]] registrati. Questo perché la Sony vuole restringere il numero di persone che possono scrivere [[gioco|giochi]] per la PlayStation in modo da ricavare il più possibile. Questo atteggiamento è tipico delle compagnie che non traggono profitto dalle vendita dell'implementazione delle API.
#Altre compagnie distribuiscono le API pubblicamente. Per esempio la [[Microsoft]] fornisce al pubblico informazioni sulle sue [[Windows API]] per scrivere ''software'' per la piattaforma [[Windows]]. La vendita di applicazioni di terze parti fa vendere copie di Windows. Questo è tipico di compagnie che traggono profitto dalla vendita dell'implementazione delle API.
 
Alcune API, come quelle standard di un [[sistema operativo]], sono implementare come una [[libreria (software)|libreria]] separata e distribuite con il sistema operativo.
Altre 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 ''software'' per i [[sistema embedded|sistemi embedded]] come le console per videogiochi generalmente ricadono nella categoria in cui le API sono integrate con l'applicazione. Anche se la documentazione ufficiale dell'API della Playstatione può essere una lettura interessante, è quasi inutile senza la corrispondente implementazione sotto forma di una libreria separata o di un ''kit'' per sviluppatori.
 
Una API che non richiede il pagamento di di diritti per il suo accesso ed utilizzo è detta "aperta". Le API fornite dal [[Free software]] (come il ''software'' distribuito sotto licenza [[GNU General Public License|GPL]], sono aperte per definizione, dal momento che si può accedere al [[sorgente]] del ''software'' e capire come funziona. Ache se esiste una "[[implementazione di reiferimentoriferimento]]" per una API (come quella di [[Microsoft Windows]] oerper la API [[Win32Windows API]]), non c'è nulla che impedisce la creazione di un'implementazione alternativa. Per esempio, la maggior parte della API Win32di Windows può essere fornita in un sistema [[UNIX]] da un ''software'' chiamato [[WINE]].
 
In generale l'analisi dell'implementazione di una API per produrne una compatibile costituisce una violazione alla legge. Questa tecnica è chiamata ''[[reverse engineering]]''. La situazione legale in questi casi presenta ambiguità quindi conviene affrontare il problema prima che l'attività di ''reverse engineering'' sia iniziata. Per esempio, una API può contenere a sua volta un brevetto.
Riga 39:
* I [[Document Object Model]] di varie applicazioni come l'[[HTML]]
* La [[Single UNIX Specification]]
* L'APILa [[MicrosoftWindows API]] di [[Win32Microsoft]]
* L'API Java 2 Enterprise Edition [[J2EE]]
* L'[[interfaccia]] [[ASPI]] per i dispositivi [[SCSI]]