Lideri de opinie

GraphQL – Schimbarea și îmbunătățirea modului în care aplicațiile comunică

mm
Adaugă Unite.AI la sursele tale preferate pe Google

Nu va dura mult până când generația următoare va cumpăra criptomonede și va verifica soldul contului de unități de încredere în lobby-ul Fortnite între jocuri. Acest lucru va fi posibil datorită multor avansări tehnologice.

Cel pe care îl discutăm astăzi este modul în care datele sunt transferate (citite, actualizate, adăugate/șterse) între aplicații și companiile care le dețin. Interfețele de programare a aplicațiilor (API) sunt arhitectura care definesc această comunicare a datelor și, pe măsură ce aceste standarde s-au dezvoltat, cerințele de procesare și stocare a datelor au devenit mai puțin dificile.

Liderul pachetului în ceea ce privește “utilizarea resurselor ușoare” este GraphQL, un limbaj deschis de interogare și manipulare a datelor. Fundația ecosistemului său este specificația și o colecție de unelte care a fost creată în jurul său.

Nu este ceva nou – timpul trece repede. Facebook l-a dezvoltat în 2012 și l-a utilizat doar intern pentru dezvoltarea de aplicații mobile. În 2015 a fost “deschis” și astăzi este îngrijit de Fundația GraphQL (https://graphql.org/foundation/) care supraveghează dezvoltarea sa ulterioară.

De ce scriu despre el acum? O hartă tipică către adoptarea tehnologică va urma următoarele etape: 1) hobiști/proiecte personale, 2) implementare în multiple limbi, 3) implementări în start-up-uri și companii mici, 4) companii de dimensiuni medii și utilizate în dezvoltarea de produse, 5) corporații mari și giganți tehnologici.

GraphQL a atins nivelul 5. În prezent, el este utilizat de GitHub, Pinterest, Shopify, Microsoft, pentru a numi doar câteva și, recent, din martie 2022, Salesforce.

În căutarea unei modalități de a prelua date mai eficient de la Salesforce, am găsit documentația lor GraphQL și am început să citesc și să caut modalități de a-l implementa.

Cum se diferențiază de o API REST tradițională?

  • Una dintre principalele avantaje este că, cu GraphQL, puteți interoga și primi doar datele specifice. Dacă doriți doar două câmpuri legate de un anumit incident al clientului, atunci aceasta este ceea ce primiți. O API REST tradițională v-ar returna toate câmpurile asociate incidentului. Acesta ar putea fi 100+ câmpuri. Acum trebuie să faceți ceva cu toate datele pe care nu le-ați dorit inițial. Acesta este cunoscut sub numele de preluare excesivă a datelor (sub-încărcarea este, de asemenea, o problemă).
  • Acest lucru face GraphQL mai rapid decât alte metode API la returnarea datelor.
  • GraphQL este un limbaj puternic tipizat, ceea ce, printre altele, înseamnă că erorile de cod sunt detectate înainte de a rula programul și nu în timpul rulării.
  • O serie de unelte excelente au fost create în jurul GraphQL, ceea ce l-a făcut foarte prietenos pentru dezvoltatori.
  • GraphQL are un singur punct de capăt, în contrast cu API-urile REST, care au multiple puncte de capăt. Acest lucru înseamnă că toate datele dvs. pot fi preluate printr-o singură cerere.

Cele două fețe ale monedei: solicitant (client) și furnizor (gazdă GraphQL)

Am examinat GraphQL până acum din perspectiva “cererii” de date. O companie, cum ar fi Salesforce sau Microsoft, a configurat o API GraphQL pe care o puteți utiliza pentru a interoga și manipula date (citire, actualizare, adăugare).

De exemplu, dacă am dori să includem date de la Salesforce legate de incidente ale clienților într-un portal al clientului, cel mai eficient mod de a face acest lucru ar fi să solicităm datele exacte pe care le dorim printr-o interogare GraphQL de la portal la serverul GraphQL al Salesforce. Veți primi exact datele pe care le doriți, fără suprasolicitare sau subsolicitare și, ca urmare, nu va fi necesară nicio prelucrare suplimentară sau stocare a datelor.

Cea de-a doua față a monedei este organizația care configurează arhitectura GraphQL, astfel încât clienții să poată accesa eficient datele pe care le doresc.

La crearea API-ului GraphQL, o organizație creează un model care integrează toate sistemele sale într-un singur model. Acesta unifică aceste sisteme și, odată ce lucrarea este finalizată, interogarea datelor devine fără efort prin API.

Când compar aplicații sau furnizori, mă uit la ce funcții îmi oferă pentru a-mi recupera datele de la ei. Nu vreau să fiu nevoit să le trimit e-mail sau să mă bazez pe rapoarte predefinite rigide. Vreau să pot “conecta” la datele mele, interogându-le într-un mod flexibil și la timp. Dacă se ajunge la două aplicații/furnizori care sunt similari în puncte de comparație și unul oferă o API REST sau o API GraphQL, cu siguranță voi alege pe cel cu API-ul.

Marcus Loveland, RP PA Analyst Developer la Maitland Fund Services, scrie pentru ‘IT crowd’, privind înainte la interfețele de programare a aplicațiilor (API) și se concentrează pe arhitectura API GraphQL.