the
impact and glory of GraphQL
at Lifely

@peterpeerdeman

architect in online

Context

"Building (big)
fullstack apps for our clients"

Stack History

  • PHP -> REST -> Angular 1.x
  • NodeJS -> REST -> Angular 1.x
  • Meteor -> DDP -> Blaze
  • Meteor -> GraphQL -> React
  • NodeJS -> GraphQL -> React

"We've got some experience with nonstandard API's"

"Back in the day, We wanted to be as RESTful as possible"

REST problems

  • embedded queries / parameter hacks
  • linking entities
  • entityless methods with sideeffects
  • documentation? (swagger was ok)
  • versioning

GraphQL?

"Query language
for API's"

Great collaboration front- and backend

  • documentation / handover
  • frontend writing stubs / contracts
  • apollo client (data management / caching)

GraphQL gives us architectural options

GraphQL as API

API directly accessing mongodb / postgres database

Integration layer

accessing both database and legacy REST integrations

GraphQL as mini API for SSR application

Legacy Python app with GraphQL layer replicating legacy pages

Of course, there were challenges

customer resistance / cutting edge risk?

Thanks Github and Airbnb for adopting!

Takes a long time to switch?

First GraphQL project up and running in 1 month

Realtime API's?

graphql subscriptions

Subquery dataload?

pre-emptive aggregation (Jesse & Bryan)

the
impact and glory of GraphQL
at Lifely

@peterpeerdeman