Utveckling av en modern fullstack applikation med GraphQL
Törnqvist, Marco (2022)
Törnqvist, Marco
2022
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2022110121808
https://urn.fi/URN:NBN:fi:amk-2022110121808
Tiivistelmä
Vid sidan av REST har GraphQL dykt upp och blivit en av de mest använda metoderna för att kommunicera data mellan en server och en webbapplikation eller
mobilapplikation.
GraphQL löser ett flertal olika problem som uppstår med REST-API:er, där det främsta problemet som uppstår är over-fetching. Over-fetching, i all sin enkelhet, uppstår då en onödig mängd data skickas från en server till en klient. GraphQL löser problemet genom att genom att ge mer kontroll åt klienten över den data som hämtas från en server. GraphQL kräver mer kod på serversidan, men å andra sidan minskar det belastningen i samband med att data hämtas/skickas från servern.
Syftet med arbetet är att beskriva hur GraphQL och REST fungerar från en teoretisk synpunkt och hur de skiljer sig från varandra. Arbetet kommer även att visa hur man själv kan implementera GraphQL med Apollo och även hur man kan implementera GraphQL på klienten med hjälp av NextJS och Apollo client.
Arbetet kommer att visa och beskriva de olika operationer som kan göras inom GraphQL, som till exempel queries, mutations och subscriptions.
mobilapplikation.
GraphQL löser ett flertal olika problem som uppstår med REST-API:er, där det främsta problemet som uppstår är over-fetching. Over-fetching, i all sin enkelhet, uppstår då en onödig mängd data skickas från en server till en klient. GraphQL löser problemet genom att genom att ge mer kontroll åt klienten över den data som hämtas från en server. GraphQL kräver mer kod på serversidan, men å andra sidan minskar det belastningen i samband med att data hämtas/skickas från servern.
Syftet med arbetet är att beskriva hur GraphQL och REST fungerar från en teoretisk synpunkt och hur de skiljer sig från varandra. Arbetet kommer även att visa hur man själv kan implementera GraphQL med Apollo och även hur man kan implementera GraphQL på klienten med hjälp av NextJS och Apollo client.
Arbetet kommer att visa och beskriva de olika operationer som kan göras inom GraphQL, som till exempel queries, mutations och subscriptions.