Mikä on GraphQL?

GraphQL on erittäin tehokas kyselykieli, jota käytetään tiedon välittämiseen asiakkaan, selaimen ja palvelimen välillä, ja se antaa meille mahdollisuuden rakentaa tietopohjaisia ​​sovelluksia paljon joustavammalla ja tehokkaammalla tavalla kuin rauhallinen lähestymistapa mahdollistaisi. Joten kuvittele, että olemme luoneet jonkinlaisen rauhallisen sovellusliittymän verkkosivustolle, joka näyttää kirjoja ja kirjoittajia. Nyt hakeaksesi tietoja tietystä kirjasta ja näyttämällä nämä tiedot verkkosivulla tekisimme todennäköisesti AJAX-pyynnön päätepisteelle. Tämä toisi takaisin joitain tietoja, kuten otsikko, tyylilaji, arvostelu jne.

Määritelmä

GraphQL on palvelinpuolen avoimen lähdekoodin tekniikka, jonka Facebook on kehittänyt optimoimaan RESTful API -puhelut. Se on tietojen kyselykieli ja suoritusmoottori.

Ymmärtäminen GraphQL

GraphQL: n kaaviot voidaan kirjoittaa GraphQL Schema Definition Language tai SDL-muodossa. SDL on helppo ymmärtää ja helppo oppia. Siinä olevat kaaviot ovat voimakkaasti kirjoitettuja, ja niistä on apua kehittäjille tavalla, jolla ei ollut mahdollista hyötyä sovellusliittymistä ilman järjestelmiä.

Ei vain, että GraphQL-skeema on GraphQL API: n tukijärjestelmä. Kaavio selittää syötettyihin argumentteihin mahdolliset tulokset tai vastaukset. GraphQL-skeema määrittelee tuetut toiminnot ja sovellusliittymän ominaisuudet hyvin ilman epäonnistumisia.

Kuinka GraphQL tekee työskentelystä niin helppoa?

Se vähentää kaapelin kautta siirrettävää tietomäärää ja olemalla valinnallinen tietojen suhteen asiakkaan tarpeiden mukaan. Siksi mobiiliasiakas hakee vähemmän tietoa, koska sitä tarvitaan pienemmällä näytöllä. Suurimpia ongelmia useimmissa sovellusliittymissä on nykyään se, että heillä ei ole vahvoja sopimuksia siitä, miltä heidän toimintansa pitäisi näyttää. Kehittäjät ovat joutuneet tilanteisiin, joissa heidän odotetaan työskentelevän vanhentuneiden ja puutteellisten API-dokumenttien kanssa, joista puuttuu asianmukaiset tavat tietää, mitä API tukee kaikkia toimintoja ja miten niitä käytetään. Toisaalta GraphQL: llä on asianmukainen dokumentaatio.

Mitä voit tehdä GraphQL: llä?

GraphQL-palvelimien rakenne on sellainen, että sen avulla on mahdollista hakea tietoja deklaratiivisesti. Tarvittavien tietojen kerääminen on helpompaa vain yhdellä pyynnöllä.

Kuvittelemme esimerkiksi tilannetta, jossa henkilö pyytää tietoja tietystä laulajasta, kuten nimi, raidat ja niin edelleen. Perinteiseen REST-malliin tämä tarvitsisi vähintään kaksi pyyntöä kahdelle päätepisteelle, eli / esittäjille ja / kappaleille. Mutta jos me käytämme sitä, kaikki tiedot voidaan määritellä yhdellä GraphQL-kyselyllä useiden resurssien pyytämiseksi.

Työskentely GraphQL: n kanssa

Se on tehnyt käyttöliittymäkehittäjien elämän helpoksi. Kaikki hyvitys menee GraphQL-asiakaskirjastoille, kuten Apollo tai Urql. Frontend-kehittäjät saavat erilaisia ​​ominaisuuksia, kuten välimuistin tallennuksen tai optimistisia käyttöliittymäpäivityksiä, ilmaiseksi kenttien kanssa, joissa kokonaiset tiimit saattavat olla vain omistautuneita työskentelemään niiden parissa, ellei GraphQL: tä olisi. GraphQL: n avulla on nyt mahdollista suunnitella sovelluksen käyttöliittymä kokonaan uudelleen koskettamatta edes taustaohjelmaa.

edut

GraphQL-sovellusliittymillä on vahvasti kirjoitettu kaavio

  • Ei ylimääräisiä hakuja
  • Se mahdollistaa nopean tuotekehityksen
  • Rikas avoimen lähdekoodin ekosysteemi ja hämmästyttävä yhteisö

Vaadittavat taidot

Ennen kaikkea käyttäjän on hallittava vähintään yksi ohjelmointikieli ja tämän kielen taustalla olevat peruskäsitteet. Sinun on myös hallittava Javascript-syntaksi ja ES6-syntaksi.

laajuus

Se on nyt vain valtava harppaus REST API -suunnitteluun nähden. GraphQL mallii suoraan kaikenlaisia ​​tiedonsiirtoja, jotka asiakkaan on suoritettava työnsä suorittamiseksi. Tämän tilan odotetaan parantuvan merkittävästi parin seuraavan vuoden aikana.

Miksi tarvitsemme sitä ja miksi meidän pitäisi käyttää GraphQL: tä?

Jos olet käyttöliittymän kehittäjä, et todennäköisesti työskentele skeeman kanssa, mutta se toimii tärkeänä asiakirjana, jonka avulla voit tietää, mitä kaikki kyselyt voit tehdä.

Jos vertaat tätä muihin API-standardeihin, kuten Swagger for REST APIs, sinun on luotettava siihen, että kuka tahansa asiakirjan kirjoittanut kirjoitti sen todella hyvin, kaikki reunatapaukset dokumentoitiin. Swagger ei pakota tyyppitarkistusta eri kenttiin, joten sinulla voi olla kelvollinen Swagger YAML-tiedosto, jota on nyt myös todella vaikea navigoida.

Kaikista voimassa olevista GraphQL-skeemeistä on sinänsä paljon hyötyä kenellekään tietäessään kaikenlaisia ​​tietoja, joita he käsittelevät, ja myös siitä, että sitä ei ole dokumentoitu oikein.

Kuka on oikea yleisö oppimaan GraphQL-tekniikoita?

GraphQL on saatavana suurelle yleisölle. Ne sisältävät asiakas- ja palvelinpuolet, koska ne tarjoavat suuren kirjastoekosysteemin molemmille puolille.

Kuinka tämä tekniikka auttaa sinua uran kasvussa?

Olisi todella kiitollinen kaikille kehittäjille, olivatpa ne kehittäjiä, joilla on hyvä käsitys Reaktista, Angularista tai Androidista, oppia GraphQL: stä ja aloittaa tasaisesti sen käyttö. On olemassa monia yhteisöjä, jotka laajentavat tukea aloittelijoille, jotka käyttävät GraphQL: ää, kuten Slack channel, Apollo ja GraphQL GitHub.

Vieraile heidän portaalissaan tukisisältöä ja uusimpia päivityksiä varten.

Monimuotoiset yritykset siirtyvät nyt GraphQL: ään, koska he ymmärtävät tulevaisuudennäkymänsä ja merkityksensä.

johtopäätös

Näillä keskusteluilla voimme päätellä, että se on mielenkiintoinen tekniikka, mutta on pakollista ymmärtää kompromissit ennen tärkeiden arkkitehtonisten päätösten tekemistä. Sovellusliittymät, kuten sellaiset, joissa on vain vähän entiteettejä ja olosuhteiden välisiä suhteita, eivät oikeastaan ​​sovellu GraphQL: ään. Mutta sovellukset, joilla on monipuoliset verkkotunnusobjektit, kuten verkkokauppasovellukset, joissa sinulla on useita entiteettejä, voivat soveltua siihen paljon enemmän. Se on todella tehokas työkalu, jolla on monia syitä valita se projektiisi, mutta joka tapauksessa sinun ei tarvitse unohtaa, että tärkeintä on valita mikä työkalu sopii projektiisi.

Suositellut artikkelit

Tämä on opas Mikä on GraphQL. Tässä keskustelimme GraphQL: n työskentelystä, vaadituista taitoista, laajuudesta, urakehityksestä ja eduista. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Mikä on MySQL?
  2. Kuinka asentaa JavaScript
  3. Mikä on Python
  4. Mikä on SQL Server?