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

Implement Relay Network Layer support #21

Open
bdunogier opened this Issue Sep 27, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@bdunogier
Copy link
Owner

bdunogier commented Sep 27, 2018

The Relay Network Layer is a middleware for GraphQL that bring in many very valuable features, most notably in regards to performances:

From https://github.com/relay-tools/react-relay-network-modern:

The ReactRelayNetworkModern is a Network Layer for Relay Modern with various middlewares which can manipulate requests/responses on the fly (change auth headers, request url or perform some fallback if request fails), batch several relay request by timeout into one http request, cache queries and server-side rendering.

Its implementation will be a breaking change, as it requires several standards to be apply (https://facebook.github.io/relay/docs/en/graphql-server-specification.html):

The three core assumptions that Relay makes about a GraphQL server are that it provides:

  • A mechanism for refetching an object.
  • A description of how to page through connections.
  • Structure around mutations to make them predictable.

The "mechanism for refetching an object" implies that each entity has a "global id", allowing to uniquely identify it based on its ID alone: content-123 instead of 123.

The "description of how to page through collections" implies that we restructure all items collections.

@bdunogier bdunogier modified the milestones: 0.3, 0.4 Nov 5, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment