Tech talk about: Apollo and GraphQL
See also: Building Apollo Medium Blog
Long term project, so not finished. Talk is about the vision.
Meteor, consists of:
- View layer (React can replace this)
- Data stack (Minimongo / MongoDB)
- Build tool
REST vs Meteor
- Imperative data fetches vs declaritive data requirements
- Lists of endpoints vs semantic data with identity
- Independent request vs stateful client-side caching
Apollo can be seen as the next version of the Meteor Data Stack, but... Apollo is independent!
Apollo will connect to:
React, Angular, Swift, Andoird, Java, Python, Scala, Go, Ruby
Why you want Apollo?
Need to do Application Data Management
Decouple client from services
To decouple client from services, there is a need for a query language and GraphQL fills this gap.
Lifecycle of a query:
- UI passes data requirements to client
- queries diffed against existing stored data
- minimized query sent to server
- data aggregated from backend services
- result returned to client
- client updates store
- result is delivered to the UI
Work with the rest of the GraphQL community, not in isolation.
To do: Building tools to improve the GraphQL developer experience
Not fond of Relay, Apollo tools focus on debugging, transparency and simplicity.
First alpha of Apollo Client will probably be released this week.