Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Meta] Structure Overview #1

Closed
13 of 24 tasks
schickling opened this issue Oct 6, 2016 · 8 comments
Closed
13 of 24 tasks

[Meta] Structure Overview #1

schickling opened this issue Oct 6, 2016 · 8 comments

Comments

@schickling
Copy link
Contributor

schickling commented Oct 6, 2016

Overview

  • Brief Introduction
  • Prerequisites

Introduction

  • What is Apollo
  • Present the data model for the pokedex
  • Redux DevTools
  • Network Layer
  • Data normalization using dataIdFromObject

Queries

  • Basic Queries
  • Advanced Queries
  • Data in Components
  • Data Caching
  • Static vs. Dynamic Queries
  • skip/include
  • Variables
  • Using Fragments

Mutations

  • Basic Mutations
  • Optimistic UI

Advanced Topics

  • Pagination
  • Polling vs. Subscriptions
  • Query Batching
  • fetchMore/updateQueries
  • Preloading Data
  • Testing with Jest

Go further

  • Wrap up
@tychota
Copy link
Contributor

tychota commented Oct 12, 2016

  • Introduction:
    • Brief Introduction

What value we add? What is the différence with relay? What problem it address ?

  • Introduction:
    • What is apollo:

It is really important to note that this will focus on using Apollo Client tools with react. Apollo have also the apollo servers and graphql-tools, and also have binding to angular. Thus the tutorial has to focus on a subpart of the tool

@schickling
Copy link
Contributor Author

@tychota the plan is to split up the "code specific" part into different technologies (React, Angular, Swift...) by providing a switch. So a user could select "React" and would see Learn Apollo tailored to React + Apollo.

@tychota
Copy link
Contributor

tychota commented Oct 12, 2016

Oki ty for Info. I will Update my comment to point out new idea for the intermediate part.

I will try to turn it in a way it address an issue that a a developper without apollo/graphql could have.

My idea so far are:

  • no need to restructure the data taken to many endpoint to passs it down to the react component (the exemple feed with post and comment, which is down by facebook, is great)
  • cached by default
  • automatic loading state
  • automatic error state (while it can be improved by apollo and it certainly will, it so much better than having to setup ourself a redux global error state if call done with saga fails, by experience)
  • optimistic result

@marktani marktani changed the title Structure Structure Overview Oct 25, 2016
@marktani marktani changed the title Structure Overview Topics Overview Oct 25, 2016
@marktani marktani changed the title Topics Overview Structure Overview Oct 25, 2016
@marktani
Copy link

I just added a fleshed out version of the structure. We should collect further topics that we want to cover.

A topic is checked if we have an exercise in #4 that covers it.
For every unchecked topic, we should either add an exercise-oriented or a concept-oriented section to the website.

@stubailo
Copy link
Contributor

Query batching

I think we should have a really clear idea of when this is and isn't valuable if we're going to cover it.

Nested Queries

Is this just about using fields inside the queries? If we're covering query features separately I think it would be a good idea to also talk about static vs. dynamic queries, and how to use skip/include and variables to avoid manipulating query strings.

fetchMore/updateQueries

Apollo 0.5 has a cleaner concept here called "query reducers", which actually let you use any redux action in the same way that updateQueries works. I don't think that will make the content very different, but something to keep an eye out for the coming days.

More advanced topics to consider:

  1. Data normalization using dataIdFromObject
  2. Cache redirection using Custom resolvers apollographql/apollo-client#809 (coming out in the next day or so)
  3. Server side rendering

I think it would be useful to invite @tmeasday and @rdickert to take a look as well!

@marktani
Copy link

Query batching

I agree. I moved it to "advanced".

Nested Queries

Yes, this is about selecting scalar/non-scalar fields in queries. Good points!

I'll look through the advanced topics you suggested to consider. At the moment I see the advanced topics more as long-term, so I wouldn't prioritize them for now.

@marktani
Copy link

marktani commented Nov 1, 2016

Nested Queries

I renamed Nested Queries to Advanced Queries. This should include various query options, variables and more as suggested by @stubailo.

@marktani marktani changed the title Structure Overview [Meta] Structure Overview Nov 5, 2016
@marktani
Copy link

Closing this. For more discussion create a comment or new issue. 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants