Application programming interface: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 7:
 
# 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 ''software'' per la piattaforma [[Microsoft Windows|Windows]].
 
Alcune API, come quelle standard di un [[sistema operativo]], sono implementate come una [[Libreria software|libreria]] separata e distribuite con il sistema operativo.<br />
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 Playstation 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 diritti per il suo accesso ed utilizzo è detta "aperta". Le API fornite dal [[software libero]], come ''software'' distribuito sotto licenza [[GNU General Public License|GPL]], sono aperte per definizione, dal momento che si può accedere al [[Codice sorgente|sorgente]] del ''software'' e capire come funziona. Anche se esiste una "[[implementazione di riferimento]]" per una API (come quella di [[Microsoft Windows]] per la [[Windows API]]), non c'è nulla che impedisce la creazione di un'implementazione alternativa. Per esempio, la maggior parte della API di Windows può essere fornita in un sistema [[UNIXUnix]] da un ''software'' chiamato [[WINEWine]].
 
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 49:
* Le API [[Carbon (API)|Carbon]] e [[Cocoa (software)|Cocoa]] per il [[Apple Macintosh|Macintosh]] [[macOS Server]]
* API e Web Services
* ''Common Object Request Broker Architecture'' ([[Common Object Request Broker Architecture|CORBA]])
* ''Java APIs for Integrated Networks'' ([[JAIN]])
* ''Simple Network Management Protocol'' ([[Simple Network Management Protocol|SNMP]])