Ciao, Adrian, e bentornato.
Nel video di oggi parleremo delle basi dell'interfaccia di programmazione delle applicazioni,
nota come API.
Ora, prima di discutere i vantaggi offerti dall'API, analizziamo una semplice sfida che ci permetterà
di comprenderne i vantaggi.
Supponiamo di avere un distributore di libri, che mantiene l'elenco dei libri disponibili
nel suo sistema di backend; c'è un operatore che lavora per questo distributore e che ha accesso
a questo sistema di backend attraverso il quale può controllare la disponibilità dei libri
e dei clienti.
In genere si collegano all'operatore specifico tramite una telefonata o un'opzione di chat per capire la disponibilità
dei libri.
Quindi, se dovessimo guardare a questo aspetto dal punto di vista diagrammatico, sarebbe simile a
questo: abbiamo una sorta di sistema di backend, abbiamo il nostro operatore qui e abbiamo un cliente.
Ora l'operatore ha accesso al sistema di backend attraverso il quale può controllare l'elenco dei libri e dei clienti
disponibili.
Poiché non hanno accesso al sistema di backend, si collegano con l'operatore per verificare la disponibilità.
Ora, da questa architettura specifica, si possono capire le sfide che questo operatore e i clienti
dovrebbero affrontare per ogni libro.
Dovranno contattare l'operatore.
E se avete migliaia di clienti, questo tipo di approccio non è scalabile.
Quindi si potrebbe desiderare che i clienti abbiano accesso al sistema di backend, ma non lo si vuole
veramente.
Inoltre, il sistema di backend potrebbe contenere anche dati sensibili e se i client eseguono qualche comando casuale sul
sistema, possono anche interrompere l'intera applicazione.
Per ovviare a questo problema, è possibile utilizzare un'API.
Il distributore di libri potrebbe quindi fornire un'API per verificare la disponibilità di magazzino.
Esiste quindi un'API.
I client possono inviare i dati all'API.
L'API si connetterà a sua volta con il sistema di backend per verificare la disponibilità e la risposta
sarà inviata al cliente.
In sintesi, l'API consente di aprire l'accesso alle risorse mantenendo la sicurezza e il controllo.
In questa fase, quindi, i clienti non hanno accesso diretto al sistema di backend.
Tuttavia, esiste un livello intermedio attraverso il quale funzionano le connessioni.
Ora, a questo livello intermedio di API, si possono aggiungere molti controlli di sicurezza, si può aggiungere la cache, si può
aggiungere l'autenticazione, si può aggiungere un firewall per applicazioni web, si può fare una sorta di strozzatura delle
richieste e così via.
Quindi tutto ciò che si può fare a livello di API e si può anche configurare l'API in modo che accetti solo determinati tipi
di richieste.
Ad esempio, non tutte le richieste saranno consentite, ma solo la richiesta di verificare la disponibilità
di un determinato libro sarà consentita tramite API.
Facciamo quindi una cosa per capire meglio le cose anche dal punto di vista pratico.
Prendiamo un semplice caso d'uso.
Il caso d'uso dice che James vuole creare un'applicazione per le previsioni del tempo.
Può trattarsi di un'applicazione Android o iOS e per creare un'applicazione per le previsioni del tempo, è necessario recuperare
i dati da qualche parte, perché ci sono molte aree in tutto il mondo.
Esiste un sito web chiamato Open Weather Map, un servizio online che fornisce i dati
meteo globali tramite API.
Anche in questo caso, si noti che questi dati sono forniti tramite l'API.
James decide quindi di collegare la sua applicazione all'API aperta Weather Map per recuperare le
ultime notizie e inserirle nella sua applicazione.
Quindi forse James può costruire una sorta di grafica che faciliti agli utenti la comprensione di ciò che
sta accadendo.
Quindi andiamo avanti e analizziamo la questione da un punto di vista pratico.
Ora, se si guarda alla mappa meteorologica aperta, si vede che il clima di Mumbai è di 29 gradi Celsius, il che è abbastanza
buono.
E fornisce anche le previsioni per i prossimi otto giorni.
Oltre a ciò, questo sito specifico consente anche di cercare il meteo di diversi Paesi e città.
Per esempio, proviamo con Londra.
Vediamo che tempo fa lì.
Il tempo è di cinque gradi centigradi.
E non solo, avete una previsione oraria e una previsione a otto giorni.
In questa fase, quindi, ci rendiamo conto che James, come singolo sviluppatore, non sarà in grado di creare
tutte queste previsioni e di ottenere il meteo in tutti i Paesi.
Decide quindi di approfittare del tempo aperto.
Ora, open weather fornisce una serie di API attraverso le quali James può connettersi per recuperare i dati.
Quindi, se guardate qui, guardate la sezione API.
Ora, a seconda dell'API, sono disponibili alcuni set di funzioni.
Quindi avete una versione 3 dell'API. 0.
Con questo si ottiene una previsione al minuto per un'ora e tante altre.
Inoltre, nel caso in cui lo si preferisca, è possibile stabilire un prezzo associato.
Per la dimostrazione di oggi, ho già una chiave API creata.
Se guardate qui, questa è la chiave API.
Quindi, attraverso questa chiave API posso connettermi al meteo aperto per recuperare i dati.
Proviamo ora dalla CLI.
Se si effettua una richiesta di chiamata all'API della mappa meteo aperta e all'interno della richiesta è stata specificata
anche la chiave API.
Ora, se premo invio, otterrete una risposta specifica qui e, in base alla risposta ricevuta, James potrà procedere
alla creazione di una serie di grafici appropriati.
A parte questo, ci sono molti casi d'uso interessanti in cui è possibile utilizzare l'API.
Ad esempio, in questo sito web specifico attraverso l'API, se si vede attraverso l'API, è possibile scansionare un determinato
documento.
Quindi, se non si è a conoscenza del fatto che il documento contiene malware o qualche tipo di attività dannosa
attraverso l'API, si può procedere a verificare se il documento è sicuro o meno.
Ora, nel mondo reale, le API di ambiente sono ampiamente utilizzate specificamente per i casi d'uso in
cui due software vogliono comunicare tra loro.
Ad esempio, l'applicazione James Weather Report vuole comunicare con la mappa meteo aperta.
Si tratta quindi di due software che vogliono comunicare tra loro.
È qui che anche le API vengono utilizzate in modo massiccio.
Questa è una panoramica di alto livello su cosa sono le API e con questo concludiamo il video di oggi.