Čo je GraphQL?

GraphQL je veľmi výkonný dopytovací jazyk, ktorý sa používa na komunikáciu údajov medzi klientom, prehliadačom, serverom a umožňuje nám štruktúrovať aplikácie založené na údajoch oveľa flexibilnejším a efektívnejším spôsobom, ako by to robil pokojný prístup. Takže si predstavte, že sme vytvorili nejaký pokojný API pre web, ktorý zobrazuje knihy a autorov. Teraz, ak chceme načítať informácie o konkrétnej knihe a zobraziť tieto informácie na webovej stránke, pravdepodobne by sme do koncového bodu predložili žiadosť AJAX. Týmto by sa vrátili niektoré informácie, ako je názov, žáner, recenzia atď.

definícia

GraphQL je serverová technológia otvoreného zdroja vyvinutá spoločnosťou Facebook s cieľom optimalizovať hovory RESTful API. Je to jazyk dotazov na údaje a spúšťací mechanizmus.

Pochopenie GraphQL

Schémy v GraphQL môžu byť napísané v GraphQL Schema Definition Language alebo SDL. SDL je ľahko pochopiteľné a ľahko sa učí. Schémy v ňom sú pevne napísané, ktoré sú užitočné pre vývojárov spôsobmi, ktoré nebolo možné ťažiť z API bez schém.

Schéma GraphQL nie je len podporným systémom GraphQL API. Schéma vysvetľuje možné výstupy alebo odpovede na zadané argumenty. Schéma GraphQL dobre definuje podporované operácie a možnosti rozhrania API bez zlyhania.

Ako GraphQL uľahčuje prácu?

Znižuje množstvo údajov, ktoré sa prenáša po kábli, a výberom údajov podľa toho, čo klient potrebuje. Preto mobilný klient načíta menej informácií, ako je potrebné na menšej obrazovke. Najväčšie problémy s väčšinou rozhraní API v súčasnosti spočívajú v tom, že nemajú silné zmluvy na to, ako by mali vyzerať ich operácie. Vývojári sa ocitli v situáciách, keď sa očakáva, že budú pracovať s neaktuálnou a nedostatočnou dokumentáciou API, ktorá nemá správne spôsoby, ako zistiť, aké operácie API podporuje a ako ich používať. GraphQL, na druhej strane, má náležitú dokumentáciu.

Čo môžete robiť s GraphQL?

Štruktúra serverov GraphQL je taká, že umožňuje deklaratívne načítať údaje. Zjednodušuje zhromažďovanie požadovaných údajov iba na jednu žiadosť.

Predstavme si napríklad situáciu, keď si osoba vyžiada podrobnosti konkrétneho speváka, napríklad meno, skladby atď. V prípade tradičného vzoru REST by to vyžadovalo minimálne dve žiadosti na dva koncové body, tj. / Umelci a / skladby. Ak ich však použijeme, všetky údaje je možné definovať pomocou jediného dotazu GraphQL a vyžiadať si viac zdrojov.

Práca s GraphQL

Zjednodušil život vývojárom frontendu. Všetky kredity idú do klientskych knižníc GraphQL ako Apollo alebo Urql. Vývojári frontendu dostávajú úplne zadarmo rôzne funkcie, ako je ukladanie do vyrovnávacej pamäte alebo optimistické aktualizácie používateľského rozhrania, s poliami, ktoré by mohli mať celé tímy určené iba na prácu na nich, ak by tam GraphQL nebola. Pomocou GraphQL je teraz možné úplne prepracovať používateľské rozhranie aplikácie bez toho, aby ste sa dotkli koncového rozhrania.

výhody

GraphQL API majú silne zadanú schému

  • Žiadne overfetching a underfetching
  • Umožňuje rýchly vývoj produktov
  • Bohatý ekosystém s otvoreným zdrojom a úžasná komunita

Požadované zručnosti

Používateľ musí predovšetkým ovládať minimálne jeden programovací jazyk a základné koncepcie tohto jazyka. Musíte tiež ovládať syntax jazyka Javascript a syntax ES6.

Rozsah

Teraz je to len obrovský skok pred návrhom REST API. GraphQL priamo modeluje všetky druhy dátových prechodov, ktoré musí klient vykonať, aby mohol vykonávať svoju prácu. Očakáva sa, že v priebehu nasledujúcich niekoľkých rokov dôjde v tomto priestore k výraznému zdokonaleniu.

Prečo to potrebujeme a prečo by sme mali používať GraphQL?

Ak ste vývojár front-end, pravdepodobne nebudete so schémou pracovať, ale bude slúžiť ako dôležitý dokument, ktorý vám umožní vedieť, aké sú všetky otázky, ktoré môžete urobiť.

Ak to porovnáte s inými štandardmi API, napríklad s rozhraním Swagger for REST API, musíte veriť, že ktokoľvek napísal dokumentáciu, napísal ju skutočne dobre, so všetkými zdokumentovanými prípadmi. Nástroj Swagger nevynucuje kontrolu typu pre rôzne polia, takže môžete mať platný súbor Swagger YAML, ktorý sa teraz dá skutočne ťažko navigovať.

Akákoľvek platná schéma GraphQL sama o sebe bude veľmi užitočná pre každého, kto bude vedieť, o aké druhy údajov ide, a to aj vtedy, ak nie je správne zdokumentované.

Kto je tým pravým publikom na výučbu technológií GraphQL?

GraphQL je k dispozícii pre veľké publikum. Zahŕňajú stranu klienta a stranu servera, pretože poskytujú veľký ekosystém knižníc pre obe strany.

Ako vám táto technológia pomôže v kariérnom raste?

Bolo by skutočne vďačné pre všetkých vývojárov, či už pre vývojárov s Reactom, Angular alebo Android, aby sa dozvedeli viac o GraphQL a neustále ho začali používať. Existujú rôzne komunity, ktoré rozširujú podporu pre začiatočníkov, ktorí používajú GraphQL, ako sú napríklad Slack channel, Apollo a GraphQL GitHub.

Nezabudnite navštíviť ich portály, kde nájdete podporný obsah a najnovšie aktualizácie.

Rôzne spoločnosti teraz prechádzajú na GraphQL, pretože chápu svoje budúce vyhliadky a význam.

záver

Na základe týchto diskusií môžeme dospieť k záveru, že ide o vzrušujúcu technológiu, ale pred prijatím dôležitých architektonických rozhodnutí je nevyhnutné porozumieť kompromisom. Rozhrania API, ako sú rozhrania s niekoľkými entitami a vzťahy medzi entitami, nie sú pre GraphQL skutočne vhodné. Avšak aplikácie s rôznymi doménovými objektmi, ako sú e-commerce aplikácie, v ktorých máte veľa subjektov, sa na to môžu hodiť omnoho viac. Je to skutočne mocný nástroj s mnohými dôvodmi, prečo si ho zvoliť vo svojich projektoch, ale aj tak nemusíte zabudnúť, že najdôležitejšie je výber toho, ktorý nástroj je pre váš projekt vhodný.

Odporúčané články

Toto bol sprievodca What is GraphQL. Tu sme diskutovali o pracovných, požadovaných zručnostiach, rozsahu, kariérnom raste a výhodách GraphQL. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Čo je MySQL?
  2. Ako nainštalovať JavaScript
  3. Čo je Python
  4. Čo je to SQL Server?

Kategórie: