GraphQL ca alternativa pt. APIs

Why I believe GraphQL will come to replace REST

Pt. ca am o tendinta sa “hop on the hype wagon” am inceput sa lucrez cu GraphQL de cand l-au lansat. Am facut 2 aplicatii care sunt in productie de 1 an si folosesc GraphQL.

Pe langa argumentele din articol as mai adauga ca devine mai usora implementarea API-urilor pe mai multe protocoale de transfer, in special trecerea de la HTTP la WebSockets. Fiind un Query Language poti arunca obiecte GQL ca mesaje prin orice protocol de transfer (ex. message queues).

Partea negativa este ca pt. WebSockets nu sunt multe exemple sau vreo implementare recomandata. Dar se lucreaza la cateva idei, eu am implementat ceva similar cu Event-stream based GraphQL subscriptions.

Pt. cei care sunt curiosi sa incerce:

10 Likes

Facebook’s on an evil mission. It wants to convince you that the web is broken.

via Panda Strike

Ca de obicei - “I’m on the other side of the fence” :sunny:

3 Likes

puts on tinfoil:

1 Like

Cu riscul de întreba o prostie (n-am lucrat cu nicicare), mă inham să lansez în eter pe forum o mică nedumerire a mea:

Există (sau este doar o impresie greșită) vreo similaritate/relație dintre GraphQL și OData?

  1. În caz că răspunsul este “nu, nu e similar deloc
  • care ar fi punctul esențial prin care GraphQL se deosebește față de OData?
  1. În caz că răspunsul este “da, sunt oarecum similare
  • care ar fi un exemplu de motiv/necesitate pentru care era necesar ceva nou?
    (sau este doar vorba de motivul enunțat deja @horia141, sau “doar” mai ușor/facil de folosit?)
  • are GraphQL vreun killer-feature față de OData, sau e vorba de simplu fapt că e ceva shiny new?
1 Like

Microsoft initiated OData in 2007.[1] Versions 1.0, 2.0, and 3.0 are released under the Microsoft Open Specification Promise. Version 4.0 was standardized at OASIS,[2] with a release in March 2014.[3] In April 2015 OASIS submitted OData v4 and OData JSON Format v4 to ISO/IEC JTC 1 for approval as an international standard.

This is probably why none actually gives a damn about it but then again cool kids do love to copy old tech into shiny, hype driven bullshit all the time.

2 Likes
6 Likes

Intre timp: https://developer.github.com/v4/guides

yay …

2 Likes
1 Like

“GraphQL is REST 2.0” - este echivalentul la “JavaScript is Java” :facepalm:

2 Likes

Ce sa fac si eu ii tin partea lui @navaru, doar nu am sa iti tin tie, eu ma concentrez pe cybersecurity research in ultimul timp, dar grafurile m-au pasionat de cand eram in liceu intr-o forma sau alta, am avut cateva proiecte pe partea de grafuri.

Merita mentionat ca autorul este CEO la scaphold.io, care se descrie ca “GraphQL backend as a service”. Asadar sunt si niste “ulterior motives”, pe langa orice interes tehnic fata de GraphQL al acestuia.

3 Likes

Nu stiam ca ne tinem parti aici :smiley: la naiba, acum imi pare rau ca am postat linkul cu GitHub - practic mi-am sapat groapa.

Jokes aside - acel titlu este oribil fie ca esti pro sau contra - iar daca faci parte din zona “web” m-as astepta ca si un junior sa stie diferenta sau macar sa observe greseala (intentionata) din titlu.

Tipuri de API https://blog.cloudobjects.io/api-design/2017/04/10/api-design-paradigms/
Ce aș modifica un pic la acestă prezentare,este că de fapt CRUD/resource-based sunt doar rest-ish aka nivelul 2 de maturitate, iar hypermedia este restfull în adevăratul sens al cuvântului. Și aș mai adaugă că hypermedia indiferent de format, ar merge de minune cu arhitectura de tip cqrs.

2 Likes