Che cos’è un API?

0
Share

Se stai leggendo questo articolo è perché probabilmente hai già letto da qualche parte il termine “API“. Il sistema operativo, il browser Web e gli aggiornamenti delle app spesso annunciano nuove API per gli sviluppatori. Ma cos’è un’API?

Interfaccia di programmazione di un’applicazione

Il termine API è un acronimo e significa “Application Programming Interface”.

Pensa a un’API come un menu in un ristorante. Il menu fornisce un elenco di piatti che è possibile ordinare, insieme a una descrizione di ogni piatto. Quando si specifica quali voci di menu si desidera, la cucina del ristorante esegue il lavoro e fornisce i piatti richiesti. Non sai esattamente come il ristorante prepara quel cibo e non ne hai davvero bisogno.

Allo stesso modo, un’API elenca una serie di operazioni che gli sviluppatori possono utilizzare, insieme a una descrizione di ciò che fanno. Lo sviluppatore non ha necessariamente bisogno di sapere come, ad esempio, un sistema operativo costruisce e presenta una finestra di dialogo “Salva con nome”. Tu sai che quella finestra ti permetterà di salvare il file, ma non sai come effettivamente viene salvato il file.

Questa non è una metafora perfetta, poiché gli sviluppatori potrebbero dover fornire i propri dati all’API per ottenere i risultati.

Le API consentono agli sviluppatori di risparmiare tempo approfittando dell’implementazione di una piattaforma che esegue il lavoro per loro. Ciò aiuta a ridurre la quantità di codice che gli sviluppatori devono creare e aiuta anche a creare maggiore coerenza tra le app per la stessa piattaforma. Le API possono controllare l’accesso alle risorse hardware e software.

Le API rendono la vita più facile per gli sviluppatori

Supponiamo che tu voglia sviluppare un’app per Android. Il sistema operativo di Google offre un numero elevato di API, come ogni altro sistema operativo, per semplificare le cose.

Se si desidera incorporare un browser Web per mostrare una o più pagine Web, ad esempio, non è necessario programmare da zero il proprio browser Web solo per la propria applicazione. Si utilizza l’API browser.

Se si desidera acquisire foto o video dalla fotocamera dello smartphone Android, non è necessario scrivere la propria interfaccia della fotocamera. Utilizza l’API della fotocamera per incorporare la fotocamera integrata di Android nella tua app. Se non esistessero API per semplificare la procedura, gli sviluppatori di app dovrebbero creare il proprio software della fotocamera e interpretare gli input dell’hardware della videocamera. Ma gli sviluppatori del sistema operativo di Google hanno fatto tutto questo duro lavoro in modo che gli sviluppatori possano semplicemente utilizzare l’API della fotocamera per incorporare una fotocamera, e poi continuare a costruire la loro app. E quando Google migliora l’API della fotocamera, tutte le app che si basano su di essa trarranno automaticamente vantaggio da tale miglioramento.

Questo vale per ogni piattaforma. Ad esempio, vuoi creare una finestra di dialogo su Windows? C’è un’API per questo. Vuoi supportare l’autenticazione delle impronte digitali su Android? C’è un’API anche per questo! Quindi non è necessario testare ogni sensore di impronte digitali per ogni produttore. Gli sviluppatori non devono reinventare la ruota più e più volte.

Le API controllano l’accesso alle risorse

Le API vengono anche utilizzate per controllare l’accesso ai dispositivi hardware e alle funzioni software che un’applicazione potrebbe non avere necessariamente il permesso di utilizzare. Ecco perché le API svolgono spesso un ruolo importante nella sicurezza.

Ti sarà sicuramente capitato di visualizzare un sito web e veder comparire la richiesta di accesso alla posizione, quel sito Web sta tentando di utilizzare l’API di geolocalizzazione nel browser web. I browser Web espongono API come questa per facilitare agli sviluppatori web l’accesso alla tua posizione, possono semplicemente chiedere “dove sei?” E il browser fa il duro lavoro di accedere al GPS o alle reti Wi-Fi nelle vicinanze per trovare la tua posizione fisica.

Tuttavia, i browser espongono queste informazioni tramite un’API perché è possibile controllarne l’accesso. Quando un sito web vuole accedere alla tua esatta ubicazione fisica, l’unico modo per ottenerlo è tramite l’API di localizzazione. E quando un sito web tenta di usarlo, tu, l’utente, puoi scegliere di consentire o rifiutare questa richiesta. L’unico modo per accedere a risorse hardware come il sensore GPS è attraverso l’API, in modo che il browser possa controllare l’accesso all’hardware.

Questo stesso principio viene utilizzato su sistemi operativi mobili moderni come iOS e Android, in cui le app mobili dispongono di autorizzazioni che possono essere applicate controllando l’accesso alle API. Ad esempio, se uno sviluppatore tenta di accedere alla videocamera tramite l’API della videocamera, è possibile rifiutare la richiesta di autorizzazione e l’app non ha modo di accedere alla videocamera del dispositivo.

I file system che usano le autorizzazioni, come fanno su Windows, Mac e Linux, hanno queste autorizzazioni applicate dall’API del file system. Un’applicazione tipica non ha accesso diretto all’hard disk fisico grezzo. Invece, l’app deve accedere ai file tramite un’API.

Le API sono utilizzate per la comunicazione tra i servizi

Le API vengono utilizzate anche per altri motivi. Ad esempio, se hai mai visto un oggetto Google Maps incorporato in un sito Web, tale sito Web utilizza l’API di Google Maps per incorporare tale mappa. Google espone API come questa agli sviluppatori web, che possono quindi utilizzare le API per visualizzare oggetti complessi direttamente sul loro sito web. Se non esistessero API come questa, gli sviluppatori potrebbero dover creare le proprie mappe e fornire i propri dati di mappa solo per mettere una piccola mappa interattiva su un sito web.

Inoltre, poiché si tratta di un’API, Google può controllare l’accesso a Google Maps su siti Web di terze parti, assicurando che vengano utilizzati in modo coerente piuttosto che tentare di incorporare in modo disordinato un frame che mostra il sito Web di Google Maps, ad esempio.

Questo vale per molti servizi online diversi. Esistono API per richiedere la traduzione di testi da Google Translate o incorporare commenti o tweet di Facebook da Twitter su un sito web.

Lo standard OAuth definisce anche un numero di API che consentono di accedere a un sito Web con un altro servizio, ad esempio, per utilizzare gli account Facebook, Google o Twitter per accedere a un nuovo sito Web senza creare un nuovo account utente solo per quel sito. Le API sono contratti standard che definiscono come gli sviluppatori comunicano con un servizio e il tipo di output che gli sviluppatori dovrebbero aspettarsi di ricevere.

Se ti interessa, puoi leggere un’articolo sulle API Vulkan qui.

In Conclusione

Se hai finito, avrai un’idea migliore di cos’è un’API. In definitiva, non hai davvero bisogno di sapere cos’è un’API a meno che tu non sia uno sviluppatore. Tuttavia, se vedi che una piattaforma software o un servizio ha aggiunto nuove API per vari hardware o servizi, dovrebbe essere più facile per gli sviluppatori sfruttare tali funzionalità.

Autore del blog Digitalart. Programmatore con la passione per i computer, dolci e la cucina in generale. Ama cimentarsi in produzioni grafiche e scrivere articoli interessanti.

Potrebbe piacerti anche...