Graph Query Language - GraphQL, limbaj dezvoltat de Facebook, se raspândeste rapid si este adoptat de companii de multe printre care, GitHub si Audi.
GraphQL este o limbaj de interogare pentru API. si un runtime pentru server pentru executarea interogarilor utilizând un sistem tip pe care îl definiti pentru datele GraphQL , nu este legata de o anumita baza de date sau de un motor de stocare si este în schimb sprijinita de codul si datele existente.
GraphQL este puternic inspirat dintr-un al limbaj de programare - Facebook Query Language, care, la rândul sau, se bazeaza pe Structured Query Language, sustinut de Oracle, Microsoft si alti producatori de baze de date. Acest lucru face ca structura si sintaxa GraphQL sa fie cunoscuta de multi dezvoltatori.
GraphQL a înregistrat o crestere exploziva printre dezvoltatorii JavaScript în ultimii doi ani, potrivit datelor compilate de NPM , care ofera instrumente pentru gestionarea codului JavaScript. Un sondaj care a chestionat 20.000 de dezvoltatori JavaScript despre instrumentele pe care le utilizeaza, a constatat ca peste 20% utilizeaza deja GraphQL si înca 62,5% doresc sa o învete. In 2016 reprezenta 5%.
Exemplu:
Un serviciu GraphQL este creat prin definirea tipurilor si câmpurilor de pe acele tipuri, apoi furnizarea de functii pentru fiecare câmp pentru fiecare tip.
type Query { me: User } type User { id: ID name: String }
Împreuna cu functiile pentru fiecare câmp de pe fiecare tip:
function Query_me(request) { return request.auth.user; } function User_name(user) { return user.getName(); }
Odata ce serviciul GraphQL ruleaza (de obicei, la o adresa URL a unui serviciu web), pot fi trimise interogari GraphQL pentru validare si executare.
De exemplu, interogarea:
{ me { name } }
Ar putea produce rezultatul JSON:
{ "me": { "name": "Luke Skywalker" } }
Aflati mai multe despre GraphQL - limba de interogare, tipul de sistem, modul în care functioneaza serviciul GraphQL, precum si cele mai bune practici pentru utilizarea GraphQL - în articolele scrise aici..