Logo de Dallonses

GraphQL

Què és GraphQL?

GraphQL és un llenguatge de consulta per a APIs i un runtime per executar aquestes consultes, desenvolupat per Meta i alliberat com a codi obert el 2015. Ofereix una alternativa a REST tot deixant que els clients demanin exactament les dades que necessiten, ni més ni menys.

La diferència amb REST és estructural. En una API REST, cada endpoint retorna una forma fixa, així que aconseguir tot el que una pantalla necessita sol significar colpejar diversos endpoints i descartar parts de cada resposta. GraphQL normalment exposa un únic endpoint, i el client descriu la forma de la resposta dins de la mateixa consulta. Això elimina l'over-fetching, on reps dades que mai fas servir, i l'under-fetching, on una petició no n'hi ha prou. Una pantalla mòbil que mostra el nom d'un usuari, les seves tres últimes comandes i els seus punts de fidelitat pot obtenir precisament aquests camps en un sol viatge en lloc de tres. A sota hi ha un esquema fortament tipat que documenta l'API i alimenta el tooling com l'autocompletat i la validació, i permet que l'API evolucioni afegint camps sense trencar les consultes en què els clients ja es recolzen.

GraphQL es guanya el seu lloc en productes amb dades complexes i interconnectades o amb diversos clients consumint un únic backend. Un web, una app mòbil i una integració amb un partner poden consultar cadascun el mateix graf per la porció que necessiten, una cosa més difícil de coordinar quan cada client depèn de respostes REST fixes.

GraphQL a Dallonses

Quan un producte té dades riques i més d'un client tibant-ne, GraphQL sol ser la base més neta. Hi recorrem allà on un únic graf ben tipat estalvia a un web i a una app mòbil haver de negociar cadascun els seus propis endpoints, i on l'esquema es converteix en documentació viva en què confia tot l'equip.

Encaixa amb com abordem la integració d'APIs i un build API-first, on el contracte entre backend i frontend es defineix aviat i es respecta. Aquesta disciplina deixa als clients afegir noves superfícies més endavant, una integració amb un partner o una nova app, sense reescriure la capa que hi ha a sota.

Tens dades alimentant diverses apps i estàs cansat de la proliferació d'endpoints? Dissenyem el graf.

Parla amb nosaltres sobre APIs

Serveis relacionats


Preparat per a traballar junts?

Reserva una reunió
Aymón sostenint una revista Tools davant de la seva cara
Ari treballant en un portàtil a l'aire lliure envoltada de plantes
Vista superior d'un escriptori de fusta amb teclat, ratolí i auriculars
Il·lustració dibuixada a mà d'una mà chasquejant els dits
Nico recolzat contra un dispensador d'aigua al costat d'un extintor
Primer pla d'un ordinador obert amb placa de circuit i components sobre un escriptori de fusta
Bernat i Andreu col·laborant en un escriptori amb monitors i un portàtil
Il·lustració dibuixada a mà d'una mà oberta saludant
Aymón sostenint una revista Tools davant de la seva cara
Ari treballant en un portàtil a l'aire lliure envoltada de plantes
Vista superior d'un escriptori de fusta amb teclat, ratolí i auriculars
Il·lustració dibuixada a mà d'una mà chasquejant els dits
Nico recolzat contra un dispensador d'aigua al costat d'un extintor
Primer pla d'un ordinador obert amb placa de circuit i components sobre un escriptori de fusta
Bernat i Andreu col·laborant en un escriptori amb monitors i un portàtil
Il·lustració dibuixada a mà d'una mà oberta saludant