Se ci rifacciamo al tecnichese, API significa “Application Programming Interface”.
Se ci rifacciamo a una spiegazione più umana, pensiamo proprio al significato in italiano.
Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!
Le api sono dei piccoli insetti che passando da un fiore all’altro alla ricerca del nettare per la propria prole, trasportano il polline.
Schematizziamo il processo:
- L’ape va all’interno di un fiore per ottenere il nettare
- Una volta fatte provviste di nettare, l’ape si trova coperta di polline e spicca il volo
- Non è soddisfatta: va da un altro fiore a procacciarsi altro cibo
- Nel frattempo, il secondo fiore riceve il polline che arriva dal primo
- L’ape se ne torna a casa soddisfatta e il secondo fiore darà alla luce un nuovo frutto
È un dare per avere: uno scambio reciproco di “informazioni”, ma non è casuale.
L’ape cerca dei fiori specifici per il suo nettare.
Il fiore restituisce un particolare tipo di polline.
L’ape allo stesso tempo non è un insetto a caso e c’è qualcosa di magico in tutto questo: l’evoluzione della natura.
I fiori si sono evoluti a tal punto da “capire” che le api non sono una minaccia, ma un ottimo alleato per prosperare e dare vita a nuovi figli!
In qualche modo, le api sono state “autorizzate” dai fiori per accedere al nettare e restituirgli il polline come moneta di scambio.
Torniamo al tecnichese, ma facendo un esempio molto semplice.
Pensiamo all’applicazione che avrai sicuramente sul cellulare che ti permette di visualizzare la tua casella di posta.
In questo caso, il tuo cellulare è l’ape, il server in cui sono salvate le tue e-mail è il fiore.
Il tuo cellulare vuole il nettare (le e-mail che non vedi l’ora di leggere), il server chiede che tu prenda il suo polline.
C’è un piccolo problema: come può il server capire che tu sia autorizzato ad ottenere queste e-mail?
Ovviamente ti devi autenticare: devi far capire al server che puoi accedere alla tua casella di posta e solitamente lo si fa tramite il tuo indirizzo e-mail e la tua password.
In questo esempio legato alla natura, l’indirizzo e-mail e la password sono ciò che ti caratterizza come ape 🙂
Una volta che il server ha capito che si può fidare di te, immaginiamo che tu gli chieda la posta in arrivo: il nettare che stai bramando dall’inizio di questo articolo!
Bisogna fargli capire che tu vuoi la posta in arrivo, solo quella: devi chiederglielo esplicitamente.
Quindi, tu stai facendo una richiesta specifica: possiamo immaginarla come il polline che il server restituisce.
Una volta che ha capito bene le tue intenzioni, ovvero la richiesta specifica, lui ti risponderà offrendoti il nettare: la posta in arrivo della tua e-mail!
Ovviamente questo meccanismo ricorda molto il protocollo client-server: è un dare per avere.
Ma in che cosa si differenzia?
Nel modello client-server, solitamente si ha un’interfaccia specifica per l’utente finale e un server che fornisce risposte fatte ad hoc per quell’interfaccia.
Un’API invece, è pensata per andare oltre questo concetto.
Stando sull’esempio delle e-mail, non c’è solo l’applicazione per il tuo cellulare.
Il tuo cellulare ad esempio, ha il sistema operativo Android, c’è chi ha un dispositivo iOS, un computer MAC, un portatile su cui è installato Windows oppure una distribuzione Linux: sono tutti ambienti diversi e bisogna creare software differenti pur offrendo la stessa identica soluzione!
Tuttavia, pur essendo diversi i sistemi operativi, la funzionalità rimane la stessa e anche i dati offerti: ovvero le e-mail.
Un’e-mail è pur sempre un’e-mail.
Le aziende che offrono i servizi di posta elettronica dicono: “Ok, vogliamo rendere il nostro servizio accessibile da qualsiasi tipo di dispositivo? Benissimo, lo creiamo e spieghiamo agli sviluppatori specializzati nello sviluppo per i vari sistemi operativi come interfacciarsi ai nostri server”.
In questo modo chi sviluppa le applicazioni che usiamo ogni giorno sui nostri dispositivi, sa come interfacciarsi con il server e fornirci un modo semplice ed immediato per leggere e scrivere e-mail.
Questa interfaccia è proprio l’API. È un insieme di regole scritte da chi offre il servizio per comunicare con i propri server e permettere a chi crea applicazioni per gli utenti finali di farne uso e ottenere i dati necessari.