GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation...
Transcript of GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation...
![Page 1: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/1.jpg)
GraphQL
Gunnar Már Þorleifsson Veftóftir og vængjaþytur, 8. maí 2019
![Page 2: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/2.jpg)
GraphQL
● Fyrirspurnarmál fyrir vefþjónustur
● Búið til af Facebook 🙈
● Open Source síðan 2018 ○ GraphQL foundation undir Linux foundation
○ Stofnmeðlimir:
■ Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl.
![Page 3: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/3.jpg)
Hvers vegna?
![Page 4: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/4.jpg)
REST vefþjónustur
REST service layer
Databases, services, business core
![Page 5: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/5.jpg)
REST Vefþjónustur
Að gefnu safni af færslum á vefþjóni á að vera til einsleitt URL og HTTP
aðferðir sem er hægt að nota til að vinna með þetta safn af færslum.
![Page 6: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/6.jpg)
REST Vefþjónustur
HTTP aðgerðir fyrir safn af bókum
URL Aðferð Aðgerð
/books POST Búa til færlsu af bók í safni
/books GET Sækja safn af bókum
/books/3 GET Sækja bók með ID 3 í safni
/books/3 PUT Uppfæra bók með ID 3 í
safni
/books/3 PATCH Uppfæra ákveðin eigindi
bókar með ID 3 í safni
/books/3 DELETE Eyða bók með ID 3 í safni
![Page 7: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/7.jpg)
REST Vefþjónustur
HTTP aðgerðir fyrir safn af notendum og vensl milli bóka og notenda
URL Aðferð Aðgerð
/users POST Búa til færlsu af
notanda í safni
/users GET Sækja lista af
notendum
/users/16 GET Sækja notanda 16
/users/16 PUT Uppfæra notanda 16
/users/16 PATCH Uppfæra eigindi
notanda 16
/users/16 DELETE Eyða notanda 16
URL Aðferð
/users/16/books POST
/users/16/books GET
/users/16/books/3 GET
/users/16/books/3 PUT
/users/16/books/3 PATCH
/books/16/books/3 DELETE
![Page 8: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/8.jpg)
Vefviðmót fyrir skiptibókamarkað
![Page 9: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/9.jpg)
Vefviðmót fyrir skiptibókamarkað
![Page 10: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/10.jpg)
Gagnamódelið
Book
id Id
name String
image String
author_id Id
publisher_id Id
....
Author
id Id
name String
image String
...
Publisher
id Id
name String
description String
...
![Page 11: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/11.jpg)
Vefviðmót fyrir skiptibókamarkað
![Page 12: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/12.jpg)
Samband gagna
Notandi
Bók
Bók
Bók
Höfundur
Útgefandi
Höfundur
Útgefandi
![Page 13: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/13.jpg)
REST
Notandi
Bók
Bók
Bók
Höfundur
Útgefandi
Höfundur
Útgefandi
/users/5 /users/5/books ???
Id: 3
Id: 7
Id: 12
![Page 14: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/14.jpg)
Tillaga 1
Bók
Bók
Bók
Höfundur
Útgefandi
Höfundur
Útgefandi
Id: 3
Id: 7
Id: 12
/users/5/books
/books/3/authors/books/3/publishers/books/7/authors/books/7/publishers/books/12/authors/books/12/publishers
Fyrir hverja bók sækjum við höfund og útgefanda:
● Mörg http request fyrir eina síðu● Flækir utanumhald gagna í client
![Page 15: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/15.jpg)
Tillaga 2
Bók
Bók
Bók
Höfundur
Útgefandi
Höfundur
Útgefandi
Id: 3
Id: 7
Id: 12
/users/5/books
/users/5/books/authors/users/5/books/publishers
Búum til endapunkta fyrir alla höfunda og alla útgefendur á öllum bókum hjá notanda 5
● Byrjar aðeins að brjóta REST venjur
● Þurfum að pússla höfundum og útgefendum við bækur client megin
● Mjög sértækt, mikið customization● Bakendaforritari þarf að búa til
route-ið og fyrirspurnina● Skalast illa með fleiri fídusum
![Page 16: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/16.jpg)
Tillaga 3
Bók
Bók
Bók
Höfundur
Útgefandi
Höfundur
Útgefandi
Id: 3
Id: 7
Id: 12
/users/5/books_with_authors_and_publishers
Búum til einn endapunkt sem sækir allar bækur með höfundum og útgefendum fyrir ákveðinn notanda:
● Gjörbrýtur REST venjur● Gríðarlega sérstækt● Nýr endapunktur fyrir hverja síðu
eða feature
![Page 17: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/17.jpg)
Allar tillögur
ALLTOF MIKIÐ AF GÖGNUM
Notandi
Bók
Bók
Bók
Höfundur
Útgefandi
Höfundur
Útgefandi
![Page 18: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/18.jpg)
Allar tillögur
ALLTOF MIKIÐ AF GÖGNUM
![Page 19: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/19.jpg)
Engin augljós leið
● RESTful arkítektúr flækist í praktík þegar þú ert með mikil vensl
● Annað hvort of mikið af http fyrirspurnum
● Eða alltof sérstækir endapunktar
● Og brot á REST venjum
● Alltof mikið af gögnum send í clientinn
![Page 20: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/20.jpg)
Skoðum þetta aftur
REST service layer
Databases, services, business core
![Page 21: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/21.jpg)
Nær raunveruleikanum
Markaðs og
söluvefurMínar síður
Gamall
söluvefur
Í þróun: Nýtt
cross-platform
app
Gömul native
öpp
Innri
starfsmanna
vefur
User ServiceBusiness
Service #1Order Service CMS Product catalog
Business
Service #3
(gömul og
brýtur venjur)
{ “camelCase” : “data” }{ “snake_case” : “data” }
SQL
REST service layer
CRM/ERP/Domain
specific system
{ “PascalCase” : “data” }
Business
Service #2
3rd party services
![Page 22: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/22.jpg)
Raunveruleikinn er ekki alltaf fallegur
Markaðs og
söluvefurMínar síður
Gamall
söluvefur
Í þróun: Nýtt
cross-platform
app
Old native
apps
Innri
starfsmanna
vefur
User ServiceBusiness
Service #1Order Service CMS Product catalog
Business
Service #3
(gömul og
brýtur venjur)
{ “camelCase” : “data” }{ “snake_case” : “data” }
SQL
REST service layer
CRM/ERP/Domain
specific system
{ “PascalCase” : “data” }
Business
Service #2
3rd party services
![Page 23: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/23.jpg)
Hvers vegna:
● RESTful architecture flækist í praktík þegar þú ert með mikil vensl
● Alltof mikið af gögnum send í clientinn
● Dreif þjónustulag flækir client-a og hægir á nýþróun
● Mistækt þjónustulag færir mikið af legacy upp í clienta
![Page 24: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/24.jpg)
Hvað?
![Page 25: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/25.jpg)
Hvað er GraphQL?
![Page 26: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/26.jpg)
Lýsir gögnum
● Öflugt type system
● Schema fyrir öll gögn
![Page 27: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/27.jpg)
Sækir gögn með Query
● Sæktu þau gögn sem þú þarft og fáðu það sem þú baðst um
● Sækir margar resource-a í einni fyrirspurn
![Page 28: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/28.jpg)
Uppfærir gögn
● Mutation
● Framkallaðu breytingar á gögnum og fáðu uppfærð gögn til baka
![Page 29: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/29.jpg)
Uppfærir gögn
● Mutation
● Framkallaðu breytingar á gögnum og fáðu uppfærð gögn til baka
![Page 30: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/30.jpg)
Einfaldar aðgengi clienta
● API gateway fyrir sett af clientum
● Staðlar gögn úr mismunandi áttum t.d. PascalCase vs. camelCase vs.
snake_case.
![Page 31: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/31.jpg)
Raunveruleikinn er ekki alltaf fallegur
Markaðs og
söluvefurMínar síður
Gamall
söluvefur
Í þróun: Nýtt
cross-platform
app
Old native
apps
Innri
starfsmanna
vefur
User ServiceBusiness
Service #1Order Service CMS Product catalog
Business
Service #3
(gömul og
brýtur venjur)
{ “camelCase” : “data” }{ “snake_case” : “data” }
SQL
REST service layer
CRM/ERP/Domain
specific system
{ “PascalCase” : “data” }
Business
Service #2
3rd party services
![Page 32: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/32.jpg)
Nýi raunveruleikinn
Markaðs og
söluvefurMínar síður
Nýtt cross-
platform app
Innri
starfsmanna
vefur
User ServiceBusiness
Service #1Order Service
CMS Product catalogBusiness
Service #3
(gömul og
brýtur venjur)
REST service layer
Business
Service #2
3rd party services
Data Graph
![Page 33: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/33.jpg)
Hvernig?
![Page 34: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/34.jpg)
GraphQL server
● Útfærslur á vefþjóni til fyrir fjölda mála○ JavaScript
○ Haskell
○ Python
○ Ruby
○ Java
○ C#
○ Scala
○ Go
○ PHP
○ ...ofl
![Page 35: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/35.jpg)
Apollo
● Apollo server○ Útfærsla á GraphQL server fyrir node.js
● Apollo client○ Library fyrir framenda til að nota GraphQL þjónustu
○ JavaScript:
■ React
■ Angular
■ Vue
■ Meteor
■ Ember
○ Native:
■ Swift -> iOS
■ Java -> Android
![Page 36: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/36.jpg)
Apollo Server
![Page 37: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/37.jpg)
Apollo Server
REST API,
MICROSERVICE,
DATABASE,
JSON,
MOCK
![Page 38: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/38.jpg)
Playground
![Page 39: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/39.jpg)
Playground
![Page 40: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/40.jpg)
Playground
![Page 41: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/41.jpg)
Apollo Client
● Client sem sér um að framkvæma Query og Mutation
● Sér um alla gagnaumsýslu og uppfærslu á viðmóti
● Client side caching
● Data subscription, polling, optimistic updates osfrv.
● Fyrir React, Angular, Vue og miklu fleira:○ Query component
○ Mutation component
![Page 42: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/42.jpg)
Apollo client: ReactApp.js Books.js
Books.graphql
![Page 43: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/43.jpg)
![Page 44: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/44.jpg)
Takk
![Page 45: GraphQL - Skýrslutæknifélag Íslands · GraphQL foundation undir Linux foundation Stofnmeðlimir: Airbnb, Apollo, Coursera, Facebook, Github, Shopify, Twitter ofl. ... REST Vefþjónustur](https://reader030.fdocuments.net/reader030/viewer/2022041017/5eca7c60831b8a0f7c2a073a/html5/thumbnails/45.jpg)
Ítarefni
● https://graphql.github.io/learn/
● https://www.apollographql.com/docs/apollo-server/
● https://www.apollographql.com/docs/react/