Che cos'è un'interfaccia del programma applicativo?
Spesso definita come interfaccia di programmazione dell'applicazione o semplice API , un'interfaccia del programma applicativo è una raccolta di istruzioni e standard di programmazione che consentono ai programmi per computer di comunicare direttamente tra loro. Molte società di software rilasciano le loro API al pubblico e consentono agli sviluppatori di creare applicazioni basate sul loro servizio. Un esempio perfetto sarebbe DirectX di Microsoft, un insieme di API che consente agli sviluppatori di creare giochi, funzionalità multimediali e applicazioni per il sistema operativo Windows.
Un'interfaccia del programma applicativo non è un'interfaccia utente, ma un'interfaccia da software a software. In effetti, consente ai programmi di comunicare tra loro senza alcuna conoscenza o intervento dell'utente. Ad esempio, quando acquisti biglietti per concerti online con una carta di credito, il sito Web utilizza un'API per inviare i dati della tua carta a un'applicazione remota che ne controlla la validità. Una volta che il pagamento è stato confermato, l'applicazione risponde al sito Web dandogli il diritto di emettere i biglietti.
Le interfacce del programma applicativo progettate per fornire l'esecuzione più rapida di solito contengono set di procedure, funzioni, variabili e strutture di dati. Un'API completa viene spesso definita come quella che fornisce un livello di astrazione che impedisce allo sviluppatore di sapere in che modo la sua funzione è correlata ai livelli di astrazione inferiori. Ciò consente al programmatore di migliorare o riprogettare le funzioni all'interno dell'API senza rompere il codice che ne ha bisogno.
Un'interfaccia del programma applicativo è abbastanza simile a Software-as-a-Service (SaaS). Ciò è dovuto principalmente al fatto che i programmatori non devono ricominciare da capo ogni volta che scrivono un'applicazione. Invece di scrivere un programma principale progettato per gestire tutto, lo stesso programma può esternalizzare determinate responsabilità ad altre applicazioni in grado di svolgere il lavoro molto meglio. Ciò rende l'API molto utile per l'integrazione con un sito Web e varie applicazioni Web.
L'interfaccia del programma applicativo è diventata parte integrante del Web 2.0 e del fenomeno dei social network. Diverse comunità popolari lo usano per condividere contenuti in un'architettura aperta. Gli utenti possono condividere commenti, foto, video e ogni tipo di informazione con applicazioni esterne, utilizzando un'API aperta per offrire nuove funzionalità alla propria comunità. Due esempi classici di API che consentono questa condivisione sono la piattaforma applicativa di Facebook e la piattaforma Open Social.
Le interfacce dei programmi applicativi sono fornite da diversi nomi importanti, tra cui Amazon®, eBay® e Google ™. Se sviluppati con precisione e utilizzati correttamente, possono essere vantaggiosi sia per l'azienda che fornisce il servizio sia per i suoi utenti. Forse il più grande svantaggio delle API è che dipendono dal servizio di fornitura. Ad esempio, se Google Maps ™ venisse interrotto, la sua interfaccia del programma applicativo sarebbe essenzialmente inutile.