Stagione 44: GraphQL
GraphQL, lo stile con cui e' il cliente a chiedere esattamente i dati che vuole. Nato per curare un dolore reale di REST (ricevere troppo o troppo poco, con tanti viaggi), ribalta chi tiene la penna: non e' piu' il server a decidere la forma della risposta, ma il cliente, che la descrive e la riceve su misura, in una sola richiesta. Il nome indica il cuore dell'idea: i dati sono un grafo, una rete di cose connesse (un utente ai suoi articoli, un articolo ai commenti, un commento al suo autore) che percorri seguendo i fili. Tutto e' garantito da uno schema tipizzato e auto-descrittivo, insieme menu' e contratto; si passa da una sola porta, dove e' la richiesta a portare il significato; e ci sono operazioni chiare per leggere, cambiare e restare in ascolto dei dati dal vivo. Dietro le quinte non e' un magazzino, ma uno strato che unifica tante fonti diverse in un unico grafo pulito. Con l'onestà sui suoi costi (il caching piu' difficile, le richieste rovinosamente costose da recintare, l'eccesso sui problemi semplici) e sulla bussola di sempre: nessuno strumento e' il migliore in assoluto, e spesso GraphQL e REST convivono. Accanto a REST, forma una coppia complementare: il server che decide la forma, e il cliente che la decide.
Episodi
10 episodi
GraphQL in sintesi, e il potere di chiedere bene
Il ritratto unitario: GraphQL è il potere di chiedere esattamente ciò che ti serve, i dati come un grafo che percorri in una sola richiesta, garantito da uno schema che si descrive da solo, da una sola porta, con operazioni chiare, come strato che unifica tante fonti...
Il prezzo della libertà: i costi di GraphQL, e quando non serve
La verità onesta: la libertà di GraphQL ha un prezzo...
Uno schema che cresce: progettare e far evolvere il grafo
Come si progetta e si fa crescere un grafo...
Dietro il grafo: uno sportello per tanti magazzini
Un equivoco da smontare: GraphQL non è un magazzino, non conserva nulla...
Leggere, cambiare, e restare in ascolto: le operazioni
Un'API non serve solo a leggere, e GraphQL ha tre modi di interagire con il grafo, tenuti apposta distinti...
Una sola porta: l'endpoint unico e la richiesta che parla
Una differenza strutturale netta...
La mappa di tutto: lo schema e i tipi
Se il cliente può chiedere qualunque forma, gli serve una mappa: ed è lo schema, la descrizione formale e completa dell'intero grafo, con ogni cosa, ogni campo, ogni collegamento...
I dati sono un grafo: seguire i collegamenti in una sola richiesta
Il cuore concettuale, l'idea che il nome indica: i dati sono un grafo, una rete di cose collegate...
Chi tiene la penna: il cliente chiede esattamente ciò che vuole
La prima idea, la più definitoria: chi tiene la penna...
Cos'è GraphQL, e il problema che risolve
GraphQL, nato per curare un dolore reale di REST: ricevere troppo, o troppo poco, con tanti viaggi...