graphql.distilled

Get Started. It's Free
or sign up with your email address
graphql.distilled by Mind Map: graphql.distilled

1. Kito D. Mann

1.1. Principal Consultant at Virtua: Consulting, training, mentoring on web dev and back-end Java

1.2. Java Champion

1.3. Google Developer Expert on Web Technologies

1.4. Co-host of Stackd Podcast (stackdpodcast.com)

2. You

3. What is GraphQL?

3.1. Alternate approach to client/server communication

3.2. Simple example

3.3. Does not use REST

3.4. Origins

3.4.1. Created by Facebook in 2012

3.4.2. Open sourced in 2015

3.4.3. Started in 2017

3.4.4. Used by many large companies

4. Why GraphQL?

4.1. Drawbacks of REST

4.1.1. Endpoint decides what data is returned

4.1.2. Data can be split amongst several calls

4.1.3. No specific data format

4.1.3.1. Layout of the data is up to the endpoint

4.1.4. No push standard

4.2. Benefits of GraphQL

4.2.1. Client decides what data it wants

4.2.1.1. Server decides where to get it

4.2.1.1.1. Well suited for BFFs

4.2.2. Single consolidated, dynamic endpoint

4.2.3. Subscriptions

4.2.4. Defined data format

4.2.4.1. Typed schemas

5. Why not GraphQL?

5.1. Drawbacks of GraphQL

5.1.1. Additional overhead

5.1.1.1. Defined data format

5.1.1.1.1. Typed schemas

5.1.1.2. Client needs to know what data it wants

5.1.2. It's not REST

5.1.3. More "magic"

5.2. Benefits of REST

5.2.1. Simpler, easier to get started

5.2.2. Better suited for read-only or low data APIs

5.2.3. It's REST

5.2.4. No specific data format

6. Demo

7. Schemas

7.1. Demo

7.2. Type-safe contract between client and server

7.3. Client can only request data defined in the schema

7.4. Versioning handled through deprecation

7.5. Design approaches

7.5.1. Schema-first

7.5.2. Code-first

7.5.3. Make this decision up front

8. Subscriptions

8.1. Allows server to push changes to client

8.2. Transport independent (web socket is most common)

8.3. Demo

9. Implementations

9.1. Client-side

9.2. Server-side

9.3. Demo

9.4. Tools

9.5. Databases

10. Resources

10.1. GraphQL Site

10.2. Schema-First GraphQL: The Road Less Travelled

10.3. The Problems of "Schema-First" GraphQL Server Development | Prisma

10.4. GraphQL Landscape

10.5. GraphIQL (SWAPI)

10.6. Altair GraphQL Client

10.7. How to GraphQL Tutorial

10.8. react-apollo example