After the break we dive into the theoretical aspects of GraphQL and open topics in that area, these include language formalization for easier analysis and caching.
Part 1: Explaining REST with live coding, REST vs GraphQL and GraphQL with live coding
Telling the agenda and breaking into the mood.
Introduction into REST (8:30)
We quickly describe how REST works and talk about building a simple blog application backend.
Live coding (11:59)
We do some live coding - we show the pieces we already have for our REST service and complete our endpoints using the Express framework on NodeJS, MongoDB for our database and Swagger for our documentation.
Checking out the endpoints (29:59)
A summary of how many endpoints we made just for fetching our data. We present some of the disadvantages of fetching data on the frontend and how this affect frontend developers.
Intro into how GraphQL came into existence (36:08)
Talking about how Facebook had problems switching to mobile and what triggered the construction of GraphQL.
Looking at our application in a graph-like way (41:55)
Trying to transform our little blog application in a graph representation using nodes as our models.
GraphQL explaining the chunks (45:28)
We explain how GraphQL is structured, we show what a schema is and what queries, mutations, resolvers and subscriptions are on our little blog example.
Live coding (58:27)
We fill in some code for our blog application using Apollo Server. Apollo Server will use the RestDataSource to communicate with our blog rest service. We also check out GraphiQL.
Q & A (1:15:28)
Some Q & A regarding GraphQL.
Part 2: Academia perspective - How to formalize GraphQL and do analysis
Formalization of GraphQL (1:22:16)
We talk a little about prof. Olaf Hartig and how he is making the first steps into formalizing GraphQL as a language to do analysis on it. We also show how he constructed two algorithms that allows us to solve the query depth problem more effectively.
Note: Some corrections for this part - I was kindly reminded by prof. Hartig that this was a joint venture with prof. Jorge Perez and that he is actually from Sweden.
We talk about caching and how graph based analysis could help with that.
The end (1:35:04)
From here on we talk about other challenges and do the rest of the Q&A.
Sample project code: https://gitlab.com/graphql-articles/fri-apollo-graphql