
GraphQL
GraphQL on API-kyselykieli, jonka avulla asiakkaat voivat pyytää tarkalleen niitä tietoja, joita he tarvitsevat, yhdellä kyselyllä useamman eri REST-päätepisteen kutsun sijaan.
GraphQL:n kehitti Facebook (Meta), ja se julkaistiin julkisesti vuonna 2015 vaihtoehtona REST-rajapinnoille. Siinä missä REST käyttää useita päätepisteitä ja kiinteitä tietorakenteita, GraphQL käyttää yhtä päätepistettä, jossa asiakasohjelma määrittelee kyselykielellä tarkalleen, mitä dataa se haluaa. Keskeinen etu on joustavuus.
GraphQLissa lähetät yhden kyselyn, joka palauttaa täsmälleen ne kentät eikä mitään muuta. GraphQL käyttää tyypitettyä kaaviota (schema) määrittämään kaikki saatavilla olevat tiedot ja operaatiot. Tämä kaavio toimii sopimuksena frontend- ja backend-tiimien välillä, generoi automaattisesti dokumentaation ja mahdollistaa tehokkaat kehitystyökalut kuten automaattisen täydennyksen ja validoinnin.
Käytännössä
- Sosiaalisen median sovellus siirtyi RESTistä GraphQLiin ja pienensi keskimääräistä API-payload-kokoa 60 %, mikä paransi mobiilisovelluksen latausaikoja hitailla verkoilla
- Sisältöalusta käytti GraphQLia tarjotakseen erilaisia datastrukturoita web-sovellukselle (täydet artikkelit), mobiilisovellukselle (yhteenvedot) ja älykellosovellukselle (vain otsikot) yhdestä API:sta
- GitHubin julkinen API v4 käyttää GraphQLia, jolloin kehittäjät voivat hakea monimutkaista sisäkkäistä dataa (repoit, issuet, PR:t, kommentit) yhdellä kyselyllä satojen REST-kutsujen sijaan
- Verkkokauppayritys implementoi GraphQLin ja mahdollisti frontend-tiiminsä rakentavan uusia ominaisuuksia 30 % nopeammin, koska he pystyivät kysymään mitä tahansa datayhdistelmiä ilman backend-muutoksia
Lisää aiheesta: Verkkosivujen kehitys
- Responsive-design
- Progressiivinen verkkosovellus (PWA)
- Yksittäinen sivusovellus (SPA)
- Palvelinpohjainen renderöinti (SSR)
- Staattinen sivuston generointi (SSG)
- API (Application Programming Interface)
- CMS (Sisällönhallintajärjestelmä)
- Headless-CMS
- Versionhallinta
- CI/CD (Continuous Integration / Continuous Deployment)
- JavaScript-kehyskirjasto
- TypeScript
Et ole varma, miten tämä koskee sinua?
Kokenut insinööri käy läpi kohteen, hakukoneesi esiintymisen ja yhteydenottojen saannin, ja kirjoittaa kolme asiaa, jotka kannattaa korjata ensin. Pidät dokumentin joka tapauksessa.