Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The GraphQL Ecosystem

The GraphQL Ecosystem

GraphQL is powerful and can solve a variety of problems. There are a lot of tools that make working with GraphQL easier, but it's not always easy to stay up to date and know whats available. This talk aims to showcase some of the most used tools in the GraphQL ecosystem, the problems those tools solve and how they can be used.

Robert Saunders

July 11, 2018
Tweet

More Decks by Robert Saunders

Other Decks in Technology

Transcript

  1. • GraphQL Overview • GraphQL Clients • GraphQL Gateways •

    GraphQL Servers • GraphQL-to-Database Servers • Demo Agenda
  2. - Official GraphQL Website “GraphQL is a query language for

    APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.”
  3. • Increased mobile usage requires for efficient data loading •

    Variety of different frontend frameworks and platforms • Fast development & expectation for rapid feature development What about REST?
  4. • Strong type system • Schema Definition Language (SDL) •

    Serves as a contract between the client and the server The Schema • Example: • Blogging application to display the titles of the posts of a specific user. The same screen also displays the names of the last 5 followers of that user.
  5. • No more over- and under-fetching • Clients ask for

    exactly the data they need • One endpoint instead of many endpoints Declarative, Efficient, and Flexible
  6. GraphQL Interest Over Time 0 25 50 75 100 April

    2015 April 2016 April 2017 July 2018
  7. FastQL Apollo Engine urql Nano GraphQL Micro GraphQL React GraphQL

    - Request Grafoo AWS AppSync Apollo Client Lokka AWS Amplify AWS AppSync Android Client GraphQL iOS gql GraphQL - JS Yoga Absinthe Alumbra TypeGraphQL Prisma PostGraphile Neo4j-GraphQL
  8. • A library that constructs queries and sends them to

    the server. What is a GraphQL client?
  9. #

  10. What is a GraphQL gateway? It’s something that sits in

    between the client and server to offer additional features.
  11. • Query execution tracing • Query caching (CDN integration) •

    Error tracking • Trend analysis What are the features of Apollo Engine?
  12. • A library/tool that usually sits above a lower-level language.

    • Responsible for receiving the query from the client and responding. What is a GraphQL server?
  13. • Translates between the database and GraphQL. • Some serve

    GraphQL clients directly some act like an ORM. What is a Database-to-GraphQL server?