Apollo: Performance Management Playbook
This course will teach you how to more efficiently build GraphQL applications that use both the Apollo client and server technologies.
What you'll learn
The Apollo GraphQL client and server work together well, bringing performance and workflow benefits to your total GraphQL solution, and is a game changer for delivering high quality production GraphQL solutions. In this course, Apollo: Performance Management Playbook, you’ll learn to improve the performance of both an Apollo server and an Apollo client. First, we’ll explore a simple implementation of an Apollo server, as long as it’s companion Apollo client can easily be setup to call it. Next, you’ll discover, how with doing no extra programming, you get a huge performance gain from the built-in cache baked into the Apollo client. Finally, you’ll learn many techniques for building highly interactive web pages that require both server and client programming including implementation paging, infinite scrolling and how to build an optimistic UI. When you finish this course, you have the skills and knowledge associated with building Apollo servers and clients needed to build apps that not only have very efficient server back ends, but also clients that are easy for browser users to use and consume very few resources.
Table of contents
- Version Check 0m
- Learn Why Apollo GraphQL Is a Win for Both Client and Server Developers 2m
- Building an Apollo GraphQL Server with Node Using One JavaScript File 4m
- Using GQL to Create Our TypeDefs 4m
- Building Field Level Resolvers for Our Schema 5m
- Launching Our Apollo Server with Our Just Defined Schema and Resolvers 2m
- Understanding Apollo Server’s Automatic Resolver Creation 6m
- Integrating REST As Our Speaker Data Source With json-server 3m
- Integrating and Launching json-server with Our Apollo Server 4m
- Inserting, Updating, and Deleting Speaker Data with Mutations 5m
- Run Our New Insert, Update, and Delete Mutations in Playground 2m
- The Apollo GraphQL Client Introduction 2m
- Creating a Simple React App with Next.js 3m
- Adding the Apollo Client to Our React App 6m
- Adding the Apollo Client useQuery to Our React App 6m
- Install and Use the Apollo Chrome Debugger Extension 3m
- useMutation for Updating a Speaker Record 4m
- useMutation for Deleting a Speaker Record 3m
- useMutation for Adding a Speaker Record 5m
- Why Use Cache in the Apollo GraphQL Client? 4m
- Normalizing Data for the Apollo Cache 3m
- The Pattern for Adding, Updating, and Deleting from Cached Lists 3m
- Fixing Insert and Delete Mutations to Modify Apollo Cache 6m
- Implementing Optimistic UI for Updating and Deleting Speaker Records 4m
- Sorting Displayed Speakers Using Apollo Cache 4m
- Understand How to Manage State With the Apollo Client 4m
- Refactor and Reorganize Our React Client Code 2m
- Field Policy Overview and Creating a New Combined First-last Local-only Field 4m
- Working with Reactive Variables Including Light/Dark Theme Example 5m
- Combining Reactive Variables and Local-only Fields for Redux-like Behavior 6m
- Pagination Basics 3m
- Updating Our GraphQL Server to Support Number Based Paging 2m
- Numbered Page Pagination Including Forward and Back Navigation 2m
- Add State Change Actions on Pagination Toolbar 5m
- Preparing for Offset and Cursor Based Pagination 2m
- Adding Results with Cursors to Our GraphQL Server 4m
- Updating Our Cache Field Policy to Support Load-more Style Pagination 5m
- Updating Our React UI for Load-more Style Pagination 4m
- Adding Sessions Data to Our GraphQL Server 3m
- Generalizing Our Load-more Pagination the Apollo Way 2m
- Applying Our Generalized Load-more Paging to Our New Sessions Data 3m
- Serverless and Server-side Unrelated but Both Important 2m
- Serverless Computing and Apollo GraphQL 3m
- Looking Ahead at Our Final Server-side Rendered App 3m
- Updating Our Apollo Client Custom Hook for Server-side Rendering 4m
- Adding Server-side Rendering Functionality to Our Paged Speakers Page 4m
- Supporting Query Parameters Like Page Number Passed to Our Server-side Rendered Pages 5m
- Module and Course Takeaways 2m