Probabilmente è apparso 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?
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 alcuni piatti finiti. Non sai esattamente come il ristorante prepara quel cibo e non ne hai davvero bisogno.
Allo stesso modo, una 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". Hanno solo bisogno di sapere che è disponibile per l'uso nella loro app.
Questa non è una metafora perfetta, poiché gli sviluppatori potrebbero dover fornire i propri dati all'API per ottenere i risultati, quindi forse è più simile a un ristorante di lusso dove puoi fornire alcuni dei tuoi ingredienti con cui la cucina lavorerà.
Ma è ampiamente accurato. Le API consentono agli sviluppatori di risparmiare tempo approfittando dell'implementazione di una piattaforma per eseguire il lavoro nitty-grintoso. 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.
Supponiamo che tu voglia sviluppare un'app per un iPhone. Il sistema operativo iOS di Apple offre un numero elevato di API, come ogni altro sistema operativo, per renderlo più facile per te.
Se desideri incorporare un browser Web per mostrare una o più pagine Web, ad esempio, non lo fai Devo programmare il tuo browser da zero solo per la tua applicazione. Si utilizza l'API WKWebView per incorporare un oggetto browser WebKit (Safari) nell'applicazione.
Se si desidera acquisire foto o video dalla fotocamera dell'iPhone, non è necessario scrivere la propria interfaccia della fotocamera. Utilizza l'API della fotocamera per incorporare la fotocamera integrata dell'iPhone 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 Apple hanno fatto tutto questo duro lavoro in modo che gli sviluppatori possano semplicemente usare l'API della fotocamera per incorporare una fotocamera, e poi continuare a costruire la loro app. E, quando Apple 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'è anche un'API per questo, quindi non è necessario testare ogni sensore di impronte digitali del produttore Android diverso. Gli sviluppatori non devono reinventare la ruota più e più volte.
Le API vengono anche utilizzate per controllare l'accesso ai dispositivi hardware e alle funzioni software che un'applicazione potrebbe non avere il permesso di utilizzare. Ecco perché le API svolgono spesso un ruolo importante nella sicurezza.
CORRELATO: Come impedire ai siti web di chiedere la tua posizione
Ad esempio, se hai mai visitato un sito web e visualizzato un messaggio nel tuo browser il sito Web chiede di vedere la tua posizione precisa, quel sito sta tentando di utilizzare l'API di geolocalizzazione nel tuo 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 posizione 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 e limitare le attività che possono fare le applicazioni.
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 telecamera, puoi rifiutare la richiesta di autorizzazione e l'app non ha modo di accedere alla videocamera del tuo dispositivo.
I sistemi di file che usano le autorizzazioni, come fanno su Windows, Mac e Linux: queste autorizzazioni sono applicate dall'API del file system. Un'applicazione tipica non ha accesso diretto all'hard disk fisico grezzo. L'app deve invece accedere ai file tramite un'API.
Le API vengono utilizzate anche per tutti i tipi di 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 plopare 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.
E, poiché si tratta di un'API, Google può controllare l'accesso a Google Mappe su siti Web di terzi, 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 si applica a 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.
CORRELATI: Che cos'è OAuth? Come funzionano quei pulsanti di accesso a Facebook, Twitter e Google
Lo standard OAuth definisce anche un numero di API che ti consentono di accedere a un sito Web con un altro servizio, ad esempio, per utilizzare i tuoi account Facebook, Google o Twitter 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 hai finito, avrai un'idea migliore di cosa sia 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 trarre vantaggio da tali funzionalità.
Credito immagine: patpitchaya / Shutterstock.com.
Equifax ha hackerato: come fermare i ladri di identità dagli account di apertura nel tuo nome
Tutti vengono violati a destra e sinistra. Inno ha perso 80 milioni di dischi nel 2015. Il governo degli Stati Uniti è stato violato e perso dati personali per milioni, fino ai dati delle impronte digitali. Ora Equifax, un ufficio di credito, è stato violato. Quindi, come proteggersi dai criminali che aprono account nel tuo nome?
Perché HDCP causa errori sul tuo HDTV e come risolverlo
HDCP è un protocollo antipirateria incorporato nello standard del cavo HDMI, ma in realtà non funziona molto bene, e rompe l'esperienza di visione. Continua a leggere mentre spieghiamo come funziona HDCP, perché interrompe la tua TV e come puoi risolverla. Cos'è HDCP? HDCP (Protezione del contenuto digitale ad alta larghezza di banda) è una forma di gestione dei diritti digitali (DRM ).