@tkssharma

FullStack Javascript Developer

Web
tkssharma.com

 Global Azure Bootcamp 2019

Hiring!!!

Senior Frontend Developer

GraphQL

2012

GraphQL created at Facebook

2013

React is released

2014

React Native is released

2015

GraphQL is open sourced

Relay Classic is open sourced

2016

New GraphQL website graphql.org

First GraphQL Summit

GitHub announces GraphQL API

2017

Relay Modern 1.0

Apollo Client 2.0

Implementations

Who is using it?

GraphQL

REST

  • It's just a convention.
  • The server exposes resources.
  • Usually, send more information.
  • Multiple requests per view
  • Documentation outside development
  • It is a typed and validatable language
  • The client defines what he receives
  • Only what is necessary is sent
  • 1 one request per view
  • Documentation by definition

GraphQL Schemas and Types

API gateways often define authorization rules, throttling rates, and caching times differently for each route.

Type System

  • Scalar Types: Int, Float, String, Boolean, ID
  • Entry points: Query, Mutation, Subscription

khriztianmoreno.com

@khriztianmoreno

Schema Syntax

- Optional: String
- Mandatory: String!
- Arrays: [String]

khriztianmoreno.com

@khriztianmoreno

Apollo Client

Apollo

Cache

Apollo

Link

Apollo Client

Using GraphQL

Why use GraphQL?

  • Declarative
  • De-coupled from storage
  • Validated and structured
  • Facilitates Collaboration
  • Super fast

Apollo Graphql as API Gateway

By Tarun Sharma

Apollo Graphql as API Gateway

API gateways often define authorization rules, throttling rates, and caching times differently for each route. But since GraphQL uses only one endpoint, it’s nearly impossible to define route-specific rules for anything. Consequently, you may need to write authorization, throttling, and caching logic in a separate layer or perhaps even in your microservices themselves.

  • 503