Notes

  • What is GraphQL?

    • Not a graph database. Not a database query language like SQL. Not a state management tool. Not an ORM.
    • An API communication specification. Like REST & SOAP.
    • Solves overfetching and multiple HTTP calls, big benefit to mobile clients
    • While it can be versioned in the same way as REST, best practice is to be versionless
    • Documentation is a first class citizen. Documentation stays to date.
    • Deprecation is a first class citizen.
  • History

    • Originally created by Facebook back in 2012, first released publically in 2015.
  • What is Apollo GraphQL?

    • "provides the data graph layer that connects modern apps to the cloud."
    • A library that implements the specification. Technically, multiple libraries: Apollo Client, Apollo Server, Apollo Federation, etc.
    • There's also the Apollo platform which manages even more (tracing, gateway, analytics, etc)
    • Handles a lot, especially on the client side (caching, etc)
  • Recommended places ways to learn graphQL by learning style