GraphQL är ett av de modernaste sätten att bygga och fråga API:er. Med GraphQL kan användaren ringa ett enda anrop för att hämta den information som krävs snarare än att konstruera flera REST-förfrågningar för att hämta densamma. GraphQL är ett huvudsakligen ett språk som används för att ta emot exakta data baserat på dina frågor. Ta till exempel en titt på frågan nedan.
{
viewer {
login
bio
organizations(first: 3) {
edges {
org:node {
name
}
}
}
}
}
Frågan ovan genererar ett svar genom att hämta användarens inloggning och biografi tillsammans med information om de tre första organisationerna:
{
"data": {
"viewer": {
"login": "abctest",
"bio": "sample test",
"organizations": {
"edges": [
{
"org": {
"name": "company"
}
},
{
“org”: {
“name”: “Atom”
}
},
{
“org”: {
“name”: “sample name”
}
}
]
}
}
}
}
GitHub och GraphQL
GitHub använder GraphQL eftersom det erbjuder mer flexibilitet för utvecklarna. Möjligheten att exakt generera informationen som en användare vill ha är en stor fördel jämfört med att skicka flera REST-samtal för att ta emot samma. För att generera informationen baserat på ovanstående exempel genom att använda REST-anrop skulle det krävas en tvåstegs process – en för att samla in användarens information och den andra för att hämta informationen om den organisation som användaren är associerad med. GraphQL hjälper till att lindra denna tvåstegs process.
GraphQL är ett av de nyare app utvecklingsverktygen som ska genereras från Facebooks interna bibliotek med öppen källkod. GraphQL är en specifikation med användningsaspekter kopplade till flera välanvända språk och är inte ett heltäckande ramverk, verktyg eller bibliotek. En officiell referens implementering finns tillgänglig som är skriven i Javascript tillsammans med andra populära bibliotek för Ruby, Java, Python och PHP för att göra det enklare för potentiella användare.
GraphQL är bra för utvecklare
Det skulle vara klokt för alla utvecklare, oavsett om det är de som är bekanta med React, Angular, Ember, iOS eller Android, att ta sig tid och lära sig om GraphQL och att sakta men stadigt börja använda det. Det finns många gemenskaper som erbjuder stöd till nybörjare som använder GraphQL. Några få är Slack kanal, Apollo och GraphQL GitHub-organisation. Se till att besöka deras portaler för uppdateringar och support innehåll.
Rest Just Doesn’t Cut It
Ta en titt på bilden nedan så får du en bättre bild:
GraphQL är ett lager mellan servrar och klienter som är mycket mer intrikat och effektivt än vad REST skulle kunna ge. Jag skulle uppmana dig att besöka länkarna nedan för mer information:
- Från REST till GraphQL av Jacob Gillespie
- GraphQL på The Financial Times av Victor Charypar
- Affärsfallet för GraphQL av James Baxley III
- Anta GraphQL av Arunoda Susiripala
Många andra alternativ finns också. En enkel sökning på Google ger dig en mängd webbplatser och bloggar som stödjer användningen av GraphQL och dess betydelse.
Du använder redan GraphQL
GraphQL är grundläggande för hur Facebook fungerar. Med över en miljard aktiva användare, är det säkert att säga att att använda Facebook bokstavligen betyder att använda GraphQL. Facebook började använda GraphQL 2012, långt innan det öppnades i juli förra året. Sedan dess har det skett en snabb tillväxt när det gäller antalet utvecklare som använder GraphQL och dess associerade gemenskaper. Många företag vänder sig nu till GraphQL eftersom de förstår dess betydelse och framtidsutsikter.
- REFERENSLISTA:
http://graphql.org/
http://dev.apollodata.com/react/
https://code.facebook.com/posts/1691455094417024/graphql-a-data-query-language/