Frontend Masters – Server-Side GraphQL in Node.js 2019-11

Frontend Masters – Server-Side GraphQL in Node.js 2019-11

Description

Server-Side GraphQL in Node.js is a training course on how to build a GraphQL API on Node.js servers using Apollo Server. GraphQL is an open source query and data manipulation language for the API (Application Programming Interface). GraphQL was first used by Facebook in 2012, then released to the public in 2015 and made available to other developers. GraphQL has attracted a lot of fans so far because it allows users to define the data structure they need and return the same data structure from the server.

Course Features

In the Server-Side GraphQL in Node.js course, first instructor Mr. Scott Moss introduces you to GraphQL, then explains how GraphQL works on both the user and server side. It then explains that to create a GraphQL server, you must first create a template using the template definition language, or SDL, and review the basic parts of the schema. The next step shows how to build a simple GraphQL server encoding typeDefs, solvents, and an Apollo server. The purpose of this section is to demonstrate a simple method of GraphQL operations before starting a more detailed description. In the following sections, you will be fully taught issues such as queries, solutions, arguments, input types, jumps, advanced SQL, and..

Course specifications

Publisher: Frontend Masters

Instructor: Scott Moss

English language

Level of training: basic to advanced

Number of lessons: 28 lessons in 6 sections

Duration: 3 hours and 24 minutes

Server-Side GraphQL in Node.js

1.Introduction

Introduction

00:00:00 – 00:11:48 Scott Moss defines GraphQL as a declarative query language, explains how GraphQL works both on the client and the server side.

Schemas

00:11:49 – 00:14:01 Scott explains that in order to create a GraphQL server, a schema must first be created using a schema definition language, or SDL, and reviews the basic parts of a schema.

GraphQL Server

00:14:02 – 00:26:36 Scott demonstrates how to build a basic GraphQL server by coding typeDefs, resolvers, and an Apollo server. The goal of this section is to demonstrate the simple way GraphQL functions before diving into more detailed explanations.

2.Queries & Resolvers

Query Types

00:26:37 – 00:33:29 Scott defines query types as object types, and demonstrates how to build a query. Questions from the audience about syntax and the use of queries are also answered.

Resolvers

00:33:30 – 00:44:58 Scott defines resolvers as functions responsible for returning values for fields on a type, and explains that to create a server with GraphQL a query type with a field and a resolver for that field are needed.

Query Types Exercise

00:44:59 – 00:52:35 After Scott walks through the code repository and specifies which files will be updated over the course of the workshop, students are instructed to create a query type based off an array.

Query Types Solution

00:52:36 – 01:05:58 Scott live codes the solution to the query types exercise.

Resolvers Q&A

01:05:59 – 01:16:20 Scott explains that each field has its own resolver, demonstrates what default resolvers are, and answers questions from the audience about top level and field specific resolvers.

3.Arguments & Input Types

Arguments

01:16:21 – 01:21:28 Scott explains that arguments allow clients to pass variables along with queries, and that they can be used in resolvers to get data. Arguments must be defined in the schema, but can be added to any field.

Input Types

01:21:29 – 01:25:06 Scott defines input types as types for arguments, and how all the fields in input types can be other input types or scholars.

Arguments & Input Types Demo

01:25:07 – 01:30:56 Scott demonstrates how to code a type, an input type, how to query a type, and how to add arguments to a resolver.

Arguments & Input Types Exercise

01:30:57 – 01:37:49 Students are instructed to create an input type, add arguments to queries, and use arguments in the query field resolvers to filter data. Scott answers questions from the audience about querying.

Arguments & Input Types Solution

01:37:50 – 01:48:28 Scott live codes the solution to the arguments and input type exercise.

4.Mutations

Mutation Type

01:48:29 – 01:57:35 Scott explains that a mutation is a type on a schema that defines operations clients can perform to create, update, or delete data.

Mutation Exercise

01:57:36 – 01:59:43 Students are instructed to define a mutation type in the schema, add fields to the mutation type, create input types or mutation field arguments and create resolvers for the mutation fields.

Mutation Solution

01:59:44 – 02:08:06 Scott live codes the solution to the mutation exercise.

5.Advanced SDL

Enums

02:08:07 – 02:13:03 Scott explains that enums are a set of discrete values that allow limiting a field to a few different options, and demonstrates how to add an enum to a type.

Interfaces

02:13:04 – 02:21:49 Scott explains that if there are two or more types with common fields, an interface allows types to share fields, and allows the client to make one query instead of multiple when looking for a field. An interface can resolve all the types that belongs to it.

Interfaces Q&A

02:21:50 – 02:27:51 Scott answers questions from the audience regarding interfaces and data sources, how to uncover the type of a type, and the GraphQL syntax.

Unions

02:27:52 – 02:34:31 Scott explains that unions are similar to interfaces, because they give access to types. However, unlike interfaces, they can access types that have no fields in common with a single query. Questions from the audience are answered.

Relationships

02:34:32 – 02:38:06 Scott explains that in GraphQL, APIs are set of nodes linked to other nodes, and defines a relationship to be adding a type as a field value on another type.

Relationships Demo

02:38:07 – 02:48:42 Scott demonstrates how to use field level resolvers to write relationships between types.

Relationships Exercise

02:48:43 – 02:51:12 Students are instructed to add new fields on types that reference other types and create resolvers for field types that point to other types.

Relationships Solution: Adding Fields on Types

02:51:13 – 02:54:34 Scott live codes the first part of the solution to the relationships exercise by first adding new fields to different types.

Relationships Solution: Adding Resolvers

02:54:35 – 03:07:50 Scott continues to live code the solution to the relationships exercise by adding field resolvers, and making the querying of data possible.

Relationships Q&A

03:07:51 – 03:12:40 Scott answers questions from the audience regarding queries in GraphQL, field level resolvers, and the rthe order queries run in.

Authentication

03:12:41 – 03:18:33 Scott demonstrates how to add authentication to an Apollo server, and explains that the level of authentication depends on what needs to be protected within the schema. Request level caching to avoid querying the database each time is also discussed.

6.Wrapping Up

Wrapping Up

03:18:34 – 03:24:48 Scott answers questions about concurrency, resolvers, and GraphQL gateways, shares open source projects using GraphQL (Prisma Hesura, GraphQL yoga etc.), and wraps up the course.

Installation

After Extract, watch with your favorite Player.

English subtitle

Quality: 1080p

Images

Frontend Masters – Server-Side GraphQL in Node.js 2019-11

Comments

Popular