graphql.distilled general / JS: https://kitomann.com/#/sessions/12 Java developers: https://kitom...

Get Started. It's Free
or sign up with your email address
graphql.distilled general / JS: https://kitomann.com/#/sessions/12 Java developers: https://kitomann.com/#/sessions/11 by Mind Map: graphql.distilled general / JS: https://kitomann.com/#/sessions/12 Java developers: https://kitomann.com/#/sessions/11

1. Kito D. Mann (@kito99) https://kitomann.com

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

1.2. Java Champion

1.3. Participated in several Java Community Process expert groups (including CDI, JSF, and Portlets)

1.4. Jakarta EE Guardian Leadership Council Member

1.5. Google Developer Expert on Web Technologies

1.6. Co-host of Stackd Podcast (https://stackdpodcast.com)

1.7. Internationally recognized speaker

1.8. Founder of https://SpeakerTrax.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. Type-safe contract between client and server

7.2. Client can only request data defined in the schema

7.3. Versioning handled through deprecation

7.4. Demo

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.1.1. Apollo Client

9.1.2. apollo-elements

9.2. Server-side

9.2.1. Java

9.2.1.1. GraphQL Java Tools

9.2.1.2. DGS Framework (Domain Graph Service)

9.2.1.2.1. Supports Federation

9.2.1.3. MicroProfile GraphQL

9.2.1.4. Spring GraphQL

9.2.2. JavaScript

9.2.2.1. Apollo Server (Node)

9.2.2.1.1. Apollo Federation

9.2.2.2. GraphQL Yoga

9.3. Demo

9.4. Tools

9.5. Databases

9.6. Services

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. Altair GraphQL Client

10.6. How to GraphQL Tutorial

10.7. react-apollo example

10.8. MicroProfile GraphQL Example

10.8.1. MicroPropfile GraphQL Experimental Features

11. MindMap

12. Federation

12.1. ...