Overview
Relay is a JavaScript framework for building data-driven React applications. GraphQL is a data querying language for describing complex, nested data dependencies in modern applications. Together they allow an application’s components to be moved anywhere in a render hierarchy without having to apply a cascade of modifications to parent components or to the server code which prepares the data payload. Relay is being used by Facebook in various mobile app projects.
In this instructor-led, live training, participants will learn how to apply key Relay concepts such as declarative specification of data dependencies, collocation and mutation to build a React application using Relay and GraphQL.
By the end of this training, participants will be able to:
- Use Relay to compose data queries into efficient batches, provide each component with exactly the data that it requested, update the components when the data changes, and maintain a client-side store (cache) of all data.
- Collocate queries and the view’s code to more easily reason about a components functionality
- Use GraphQL to declare data requirements while allowing Relay to fetch the data on its own
- Understand the concept of mutating data on the client and server using GraphQL mutations
- Understand the differences between Relay and Flux, in particular how “mutations” implement the concept of actions and modifications
- Use routes to determine which data to fetch to render a given component
- Make changes in relative isolation, even in large team projects
- Create correct, high-performance applications in a straightforward and obvious way
Audience
- Developers
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
Requirements
- Experience developing applications with Javascript, HTML, and CSS
- A general understanding of React application development
- An understanding of database concepts
Course Outline
Introduction
Overview of Relay and GraphQL
Preparing the Development Environment
Preparing a Sample Application
Composing a Data Query
Collocating Queries
Declaring Data Requirements
Mutating data
Routing
Authenticating Users
Updating Data in Realtime
Implementing Pagination
Testing the Application
Debugging the Application
Deploying the Application
Troubleshooting
Summary and Conclusion