GraphQL - Introduction

GraphQL is a query language used to simplify the process of data fetching in applications.  

It replaces REST as an API design paradigm and is becoming the new standard for exposing the data and functionality of a server.

It is an execution engine and a data query language.

History :
 GraphQL is a declarative data fetching specification and query language that was created at Facebook in 2012. It was invented to help Facebook deal with the data fetching challenges that were arising in their native mobile app projects. They needed a way to get data from the server to the client. After use in production for all of Facebook's mobile apps for years, Facebook open sourced GraphQL in 2015. GraphQL is often talked about as being part of React or the larger Javascript ecosystem. Though it lends itself well to loading data into React components, GraphQL is just a query language. It's not opinionated about what programming language you use to implement a graph server. Today GraphQL is used by companies like Pinterest, Intuit, Coursera, GitHub, and Shopify, and it's gaining popularity due to the ease of use and the performance benefits.

Prerequisites :

Knowledge of REST API is required. Language of REST to compare and contrast data fetching in both ways.

We're going to be using the GitHub GraphQL API so a GitHub account will be a must-have for this class. You don't have to know anything about Git or GitHub at all, this will just be used to explore the GitHub API.