Kaj je GraphQL?

GraphQL je zelo močan poizvedovalni jezik, ki se uporablja za komunikacijo podatkov med odjemalcem, brskalnikom, strežnikom in nam omogoča, da strukturirane aplikacije, ki temeljijo na podatkih, na veliko bolj prilagodljiv in učinkovit način, kot bi to lahko uporabil počitek. Predstavljajte si, da smo ustvarili nekakšen počitek API za spletno mesto, ki prikazuje knjige in avtorje. Zdaj, da pridobimo podatke o določeni knjigi in jih prikažemo na spletni strani, bomo verjetno do končne točke podali zahtevo AJAX. Tako bi dobili nekaj informacij, kot so naslov, žanr, recenzija itd.

Opredelitev

GraphQL je odprtokodna tehnologija na strani strežnika, ki jo je razvil Facebook za optimizacijo klicev RESTful API. To je jezik poizvedbe podatkov in gonilna sila.

Razumevanje GraphQL-a

Sheme v GraphQL se lahko zapišejo v jeziku opredelitve GraphQL Schema ali SDL. SDL je enostavno razumeti in ga je preprosto naučiti. Sheme v njem so močno vtipkane, ki so v pomoč razvijalcem na načine, ki ne bi mogli izkoristiti API-jev brez shem.

GraphQL shema je podporni sistem GraphQL API-ja. Shema razlaga možne izhode ali odzive na vnesene argumente. GraphQL shema brez napake definira podprte operacije in zmožnosti API-ja.

Kako GraphQL olajša delo?

Zmanjša količino podatkov, ki se prenese po žici, in izbira glede podatkov, odvisno od potreb strank. Zato mobilni odjemalec pridobi manj informacij, kot jih potrebuje na manjšem zaslonu. Največji problem večine API-jev danes je, da nimajo močnih pogodb, kakšno naj bi izgledalo njihovo delovanje. Razvijalci so se znašli v situacijah, v katerih se od njih pričakuje, da bodo delali z zastarelo in pomanjkljivo dokumentacijo API, ki nima ustreznih načinov, kako vedeti, katere vse operacije podpirajo API in kako jih uporabljati. GraphQL ima na drugi strani ustrezno dokumentacijo.

Kaj lahko storite z GraphQL?

Struktura strežnikov GraphQL je taka, da omogoča deklarativno pridobivanje podatkov. Olajša zbiranje zahtevanih podatkov samo z eno zahtevo.

Na primer, predstavljajmo si situacijo, ko oseba zahteva podrobnosti o določenem pevcu, kot so ime, skladbe in tako naprej. Za tradicionalni vzorec REST bi to potrebovali najmanj dve zahtevi do dveh končnih točk, to je / izvajalcev in / skladb. Če pa ga uporabljamo, lahko vse podatke definiramo samo z eno poizvedbo GraphQL, da zahteva več virov.

Delo z GraphQL

Olajšala je življenje razvijalcev soprog. Vsi zaslugi gredo knjižnicam odjemalca GraphQL, kot sta Apollo ali Urql. Razvijalci Frontenda dobijo različne funkcije, kot so predpomnjenje ali optimistične posodobitve uporabniškega vmesnika za popolnoma brezplačna polja s polji, ki bi morda imela cele ekipe samo namenjene delu na njih, če GraphQL ne bi bil tam. S pomočjo GraphQL-a je zdaj mogoče popolnoma preoblikovati uporabniški vmesnik aplikacije, ne da bi se sploh dotaknili zaledja.

Prednosti

API-ji GraphQL imajo močno vtipkano shemo

  • Brez prepletanja in premalo
  • Omogoča hiter razvoj izdelkov
  • Bogat odprtokodni ekosistem in neverjetna skupnost

Zahtevane veščine

Predvsem mora uporabnik poznati najmanj en programski jezik in osnovne koncepte za tem jezikom. Prav tako morate imeti znanje sintakse Javascript in skladbe ES6.

Obseg

Zdaj je le močan preskok pred zasnovo REST API-ja. GraphQL neposredno modelira vse vrste podatkovnih potovanj, ki jih stranka mora izvesti, da opravi svoje delo. Pričakuje se, da se bo v tem prostoru v naslednjih nekaj letih bistveno izboljšala.

Zakaj ga potrebujemo in zakaj naj uporabljamo GraphQL?

Če ste razvijalec, verjetno ne boste delali s shemo, vendar bo služil kot pomemben dokument, ki vam omogoča, da veste, katere vse poizvedbe lahko vnesete.

Če to primerjate z drugimi standardi API-ja, kot je Swagger za API-je REST, morate zaupati, da je kdo, ki je pisal dokumentacijo, napisal res dobro, z vsemi robnimi primeri. Swagger ne vsiljuje preverjanja vrste za različna polja, zato lahko imate veljavno datoteko YAML Swagger, ki je tudi zdaj zelo težko krmariti.

Vsaka veljavna shema GraphQL sama po sebi bo v veliko pomoč vsem, ki vedo, s kakšnimi vrstami podatkov se ukvarjajo, in tudi, če niso pravilno dokumentirani.

Kdo je pravo občinstvo za učenje tehnologij GraphQL?

GraphQL je na voljo za veliko občinstvo. Vključujejo stranko in stranko, saj zagotavljata velik ekosistem knjižnic za obe strani.

Kako vam bo ta tehnologija pomagala pri karierni rasti?

Vsem razvijalcem bi bilo resnično hvaležno, naj se tisti, ki se dobro spoznajo z Reactom, Angularjem ali Androidom, naučijo o GraphQL-u in neomajno začnejo uporabljati. Obstajajo različne skupnosti, ki podpirajo začetnike, ki uporabljajo GraphQL, kot so Slack channel, Apollo in GraphQL GitHub organizacija.

Obvezno obiščite njihove portale za vsebino podpore in najnovejše posodobitve.

Različna podjetja zdaj prehajajo na GraphQL, ker razumejo svoje prihodnje možnosti in pomen.

Zaključek

S temi razpravami lahko sklepamo, da gre za vznemirljivo tehnologijo, vendar je obvezno razumeti kompromise, preden sprejmete pomembne arhitekturne odločitve. API-ji, kot so tisti z malo entitetami in odnosi med entitetami, res niso primerni za GraphQL. Toda aplikacije z različnimi predmeti domen, kot so aplikacije za e-trgovino, kjer imate veliko subjektov, so morda zanjo še bolj primerne. To je resnično močno orodje, z veliko razlogi, da ga izberete pri svojih projektih, a vseeno vam ni treba pozabiti, da je najpomembnejše izbira, katero orodje je primerno za vaš projekt.

Priporočeni članki

To je vodnik za Kaj je GraphQL. Tu smo razpravljali o delu, potrebnih veščinah, obsegu, karierni rasti in prednostih GraphQL. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Kaj je MySQL?
  2. Kako namestiti JavaScript
  3. Kaj je Python
  4. Kaj je SQL Server?