Spesso denominato application programming interface o semplici API , un'interfaccia di programma applicativo è una raccolta di istruzioni per la programmazione e le norme che consentono di programmi per computer di comunicare direttamente uno con l'altro . Molte società di software pubblicheranno il loro API per il pubblico e consentono agli sviluppatori di creare applicazioni powered by il loro servizio. Un esempio perfetto sarebbe DirectX di Microsoft, un insieme di API che consentono agli sviluppatori di creare giochi, funzionalità multimediali e applicazioni per il sistema operativo Windows.
un'interfaccia di programma applicativo non è una interfaccia utente, ma un software di interfaccia software. Infatti, permette ai programmi di comunicare gli uni con gli altri utenti senza alcuna conoscenza o di intervento. Per esempio, quando si compra biglietti per i concerti online con carta di credito, il sito utilizza un API per inviare i dati della carta ad una applicazione remota che controlla la validità. Una volta che il pagamento è stato confermato, la domanda risponde il sito dandogli l'okay per il rilascio dei biglietti. interfacce per programmi applicativi progettati per fornire l'esecuzione più veloce di solito contengono diversi tipi di procedure, funzioni, variabili e dati strutture. Un completo API è spesso definito come uno che fornisce uno strato di astrazione che impedisce allo sviluppatore di dover sapere come la sua funzione si riferisce ai livelli più bassi di astrazione. Questo permette al programmatore di migliorare o ridisegnare le funzioni all'interno della API senza infrangere il codice che ne ha bisogno. un'interfaccia di programma applicativo è molto simile al software-as-a-Service (SaaS). Ciò è dovuto principalmente perché i programmatori non dover ripartire da zero ogni volta che scrivono una domanda. Piuttosto che un programma di scripting core progettati per gestire tutto ciò, lo stesso programma può esternalizzare alcune responsabilità ad altre applicazioni in grado di svolgere il lavoro molto meglio. Questo rende il molto utile per l'integrazione con le applicazioni web e web varie API. L'interfaccia del programma applicativo è diventato parte integrante del Web 2. 0 e il fenomeno del social networking. Diverse comunità popolari utilizzarlo per condividere contenuti con un'architettura aperta. Gli utenti possono condividere commenti, foto, video, e tutti i tipi di informazioni con applicazioni esterne, utilizzando un'API aperta per fornire nuove funzionalità per la loro comunità. Due esempi classici di API che permettono la condivisione sono il Facebook Application Platform e la piattaforma Open Social.interfacce dei programmi di applicazione sono forniti da diversi grandi nomi, tra cui Amazon ®, eBay e Google ™. Quando sviluppato in modo preciso e utilizzati correttamente, questi possono trarre vantaggio sia l'azienda che fornisce il servizio ed i suoi utenti. Forse il maggiore svantaggio di API è che sono a carico del servizio di fornitura. Ad esempio, se Google Maps ™ è stata interrotta, la sua interfaccia per programmi applicativi sarebbe sostanzialmente inutile.
