Mis on GraphQL?

GraphQL on väga võimas päringikeel, mida kasutatakse andmete edastamiseks kliendi, brauseri ja serveri vahel, ning see võimaldab meil andmepõhiseid rakendusi struktureerida palju paindlikumalt ja tõhusamalt, kui rahulik lähenemisviis võimaldaks. Kujutage siis ette, et lõime veebisaidile, mis kuvab raamatuid ja autoreid, mingi rahuliku API. Kui soovite konkreetse raamatu kohta teavet hankida ja seda teavet veebilehel kuvada, teeksime tõenäoliselt AJAX-i päringu lõpp-punktile. See tooks tagasi teavet, nagu pealkiri, žanr, arvustus jne.

Definitsioon

GraphQL on serveripoolne avatud lähtekoodiga tehnoloogia, mille on välja töötanud Facebook eesmärgiga optimeerida RESTful API kõnesid. See on andmepäringu keel ja täitmismootor.

GraphQL mõistmine

GraphQLi skeemid saab kirjutada GraphQL Schema Definition Language või SDL-i. SDL on hõlpsasti mõistetav ja seda on lihtne õppida. Selles olevad skeemid on tugevalt trükitud, millest on abi arendajatele viisil, millest ilma skeemideta polnud võimalik API-sid kasutada.

Mitte ainult, et GraphQL skeem on GraphQL API tugisüsteem. Skeem selgitab sisestatud argumentide võimalikke väljundeid või vastuseid. GraphQL-skeem määratleb hästi tõrgeteta toetatavad toimingud ja ka API võimalused.

Kuidas teeb GraphQL töötamise nii lihtsaks?

See vähendab andmeedastuse mahtu, mida edastatakse juhtme kaudu, ning on andmete suhtes valikuline, olenevalt kliendi vajadustest. Seetõttu hangib mobiilklient väiksema ekraaniga vähem teavet, kuna seda on vaja. Enamiku API-de suurimad probleemid on tänapäeval see, et neil puuduvad tugevad lepingud selle kohta, milline peaks nende tegevus välja nägema. Arendajad on jõudnud olukordadesse, kus neilt oodatakse tööd aegunud ja puuduliku API-dokumentidega, millel puuduvad sobivad viisid, kuidas teada saada, mida kõik toimingud API toetavad ja kuidas neid kasutada. Teisest küljest on GraphQL-l korralik dokumentatsioon.

Mida saate teha GraphQL-iga?

GraphQL serverite struktuur on selline, et see võimaldab andmeid deklaratiivselt tuua. See muudab lihtsamaks vajalike andmete kogumise ainult ühe päringuga.

Kujutame näiteks ette olukorda, kus inimene soovib konkreetse laulja kohta üksikasju, nagu nimi, palad ja nii edasi. Traditsioonilise REST-mustri jaoks vajaks see vähemalt kahte taotlust kahele lõpp-punktile, see tähendab / esitajatele ja / paladele. Kuid kui me seda kasutame, saab kõiki andmeid määratleda vaid ühe GraphQL-päringuga, et taotleda mitut ressurssi.

Töötamine GraphQL-iga

See on teinud esiplaanil olevate arendajate elu lihtsaks. Kõik krediidid lähevad graafiku kliendiraamatukogudele nagu Apollo või Urql. Frontendi arendajad hangivad täiesti tasuta funktsioone, näiteks vahemällu salvestamist või optimaalseid kasutajaliidese värskendusi, väljadega, mille korral võivad terved meeskonnad olla just nende kallal töötavad, kui GraphQL poleks olemas. GraphQLi abil on nüüd võimalik rakenduse kasutajaliides täielikult ümber kujundada, ilma et peaksite taustaprogrammi puudutama.

Eelised

GraphQL API-del on tugevalt trükitud skeem

  • Ülemääraste ja alamotsinguteta
  • See võimaldab kiiret tootearendust
  • Rikas avatud lähtekoodiga ökosüsteem ja hämmastav kogukond

Vajalikud oskused

Eelkõige peab kasutaja valdama vähemalt ühte programmeerimiskeelt ja selle keele põhimõisteid. Samuti peate valdama Javascripti süntaksi ja ES6 süntaksi.

Reguleerimisala

REST API kujundamisel on nüüd vaid tohutu hüpe. GraphQL modelleerib otse igasuguseid andmesideliike, mida klient peab oma töö tegemiseks tegema. Eeldatakse, et selles ruumis toimub järgmise paari aasta jooksul märkimisväärne täpsustus.

Miks me seda vajame ja miks peaksime kasutama GraphQL-i?

Kui olete esiotsa arendaja, siis tõenäoliselt skeemiga ei tööta, kuid see toimib olulise dokumendina, mis võimaldab teil teada saada, mida kõik teie tehtud päringud pakuvad.

Kui võrrelda seda teiste API-standarditega, näiteks Swagger for REST APIs, peate uskuma, et kes dokumentatsiooni kirjutas, kirjutab selle tõesti hästi, kõik servajuhtumid on dokumenteeritud. Swagger ei sunni erinevate väljade tüübikontrolli sundima, nii et teil võib olla kehtiv Swaggeri YAML-fail, mida on ka praegu raske navigeerida.

Mis tahes kehtiv GraphQL-skeem on iseenesest suureks abiks kõigile, kes teavad, milliseid igasuguseid andmeid nad käsitlevad, ja ka siis, kui see pole korralikult dokumenteeritud.

Kes on õige vaatajaskond GraphQL-tehnoloogia õppimiseks?

GraphQL on saadaval suurele vaatajaskonnale. Need hõlmavad kliendi- ja serveripoolseid külgi, kuna pakuvad mõlemale poolele suurt raamatukogude ökosüsteemi.

Kuidas see tehnoloogia aitab teid karjääri kasvamisel?

Kõigile arendajatele, olgu need siis Reakti, Angulari või Androidi üle hea haarata, oleks tõesti tänulik õppida GraphQLi ja seda järjekindlalt kasutama hakata. On mitmeid kogukondi, kes laiendavad tuge GraphQL-i kasutavatele algajatele, näiteks Slack channel, Apollo ja GraphQL GitHub organisatsioon.

Külastage kindlasti nende portaale, et saada tugisisu ja uusimaid värskendusi.

Mitmekesised ettevõtted lähevad nüüd üle GraphQL-ile, kuna saavad aru oma tulevikuväljavaadetest ja olulisusest.

Järeldus

Nende arutelude põhjal võime järeldada, et see on põnev tehnoloogia, kuid enne oluliste arhitektuuriliste otsuste tegemist on kohustuslik mõista kompromisse. API-liidesed, näiteks väheste olemitega ja olemitevahelised suhted, ei sobi tegelikult GraphQL-i. Kuid mitmesuguste domeeniobjektidega rakendused, näiteks e-kaubanduse rakendused, kus teil on palju üksusi, võivad sellele palju paremini sobida. See on tõesti võimas tööriist, millel on palju põhjuseid, miks seda oma projektides valida, kuid igatahes ei pea te unustama, et kõige olulisem on valida see, kumb tööriist teie projekti jaoks sobib.

Soovitatavad artiklid

See on olnud teemaks Mis on GraphQL. Siin arutasime GraphQLi töötamist, vajalikke oskusi, ulatust, karjäärikasvu ja eeliseid. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Mis on MySQL?
  2. Kuidas JavaScripti installida?
  3. Mis on Python
  4. Mis on SQL Server?

Kategooria: