how to graphql: react apollo

16
How to GraphQL: React Apollo November 14, 2017 Tomasz Bąk [email protected]

Upload: tomasz-bak

Post on 28-Jan-2018

174 views

Category:

Software


0 download

TRANSCRIPT

Page 1: How to GraphQL: React Apollo

How to GraphQL: React Apollo November 14, 2017Tomasz Bą[email protected]

Page 2: How to GraphQL: React Apollo

About me

● software developer and architect, speaker, trainer○ 12+ years of experience

○ 4+ years senior frontend developer

■ Ember, Angular, React

● co-founder of selleo.com

● http://selleo.com/people/tomasz-bak

Page 3: How to GraphQL: React Apollo
Page 4: How to GraphQL: React Apollo

Agenda

What is Apollo?

Integration with React

Workshops

Page 5: How to GraphQL: React Apollo

What is Apollo?

Source: https://www.slideshare.net/reactconfbr/sashko-stubailo-the-graph-ql-and-apollo-stack-connecting-everything-together

Client-side tooling● Apollo Client● Dev tools● apollo-codegen● eslint-plugin-graphql

Server-side tooling● Graphql-tools

○ Schema creation○ Mocking○ Stitching

● Apollo Server● Apollo Optics

A set of projects designed to leverage GraphQL

Page 6: How to GraphQL: React Apollo

What is Apollo Client?

Source: https://www.apollographql.com/client/

Community driven GraphQL client for JavaScript and native platforms

Bind GraphQL data to your UI with one function call.

Page 7: How to GraphQL: React Apollo

Key concepts of the Apollo Client

Source: https://www.apollographql.com/docs/react/index.html

● Incrementally adoptable● Universally compatible● Simple to get started with● Inspectable and understandable● Built for interactive apps● Community driven

Page 8: How to GraphQL: React Apollo

Integration with React

Source: https://www.apollographql.com/docs/react/index.html

Page 9: How to GraphQL: React Apollo

Write queries, not codeQuery

Page 10: How to GraphQL: React Apollo

Write queries, not codeComponent

Page 11: How to GraphQL: React Apollo

Write queries, not codeView

Page 12: How to GraphQL: React Apollo

Write queries, not codeEdit

Page 13: How to GraphQL: React Apollo

The benefits

● Eliminate frontend data boilerplate● Pull complexity out of the client● Improve performance● Incrementally evolve your API● Types and validation across the stack

Source: https://www.apollographql.com/

Page 14: How to GraphQL: React Apollo

Source: https://dev-blog.apollodata.com/reducing-our-redux-code-with-react-apollo-5091b9de9c2a

Page 15: How to GraphQL: React Apollo
Page 16: How to GraphQL: React Apollo

Workshopsgraphql-ruby (~908k total downloads)react-apollo (~267k downloads in the last month)

● Based on classic Northwind sample database● Best Practices, TDD● Signup, Signin● Dashboard with charts● CRUD, validations● Nested objects● Filtering and sorting listings