Many GraphQL server implementations are still not supporting Relay, or at least not fully, but how big of a deal is this really? Can Relay not be used with those at all, or does it just require more work?
Can you clarify which products you're referring to that are not "Relay-compliant"? In general any GraphQL server implementation can be used to create a GraphQL schema for use with Relay. The GraphQL Relay Spec describes the schema features necessary to work with Relay.
Oh. I now realize it is the schema that needs to be Relay compliant, not the server itself.
What was confusing me is that GraphQl-Java, for example, says "There is a very basic Relay support included", and the Elixir implementation just recently got Relay support, so I was figuring there was something magical needed. But it turns out all this meant is that convenience functions for making a Relay-compliant schema were added.
Cool. Thanks a lot!
@josephsavona
Btw, my original question still sort of stands. If the schema isn't formed to Relay's expectations, is Relay totally unusable or does it mean you must manually implement paging etc? For example, could I use simple offset/limit based pagination instead of cursor based one, and still use Relay on the front-end?
The Node and Mutation specifications are required in order for Relay to work, however connections are optional. You can always define a field such as things(offset: 20, limit: 10) and Relay will treat it as a normal field and fetch the list of items.
Exactly the info I was looking for! Thanks a bunch for your kind help!
Most helpful comment
Exactly the info I was looking for! Thanks a bunch for your kind help!