Relay | Apollo | |
---|---|---|
Built by | Facebook (Check out the project on GitHub) | Meteor (Check out the project on GitHub) |
Frontend Technologies | Requires React / React Native and configuration of Babel plugin | Framework and platform agnostic (works with any JS framework such as React, Angular or Vue as well as on the native mobile platforms) |
GraphQL API | Requires a certain structure in the GraphQL schema | Works with any GraphQL schema |
Complexity | Slow learning curve: Lots of powerful magic happening behind the scenes | Low entrance barrier: Let's you get started quickly and involves more manual work for certain features |
Flexibility | Almost no flexibility, strict rules how to integrate Relay with React components | Lots of flexibility how Apollo is used throughout a whole project, easy to adopt incrementally |
Usage of GraphQL Fragments | Relies on fragments as an essential tool to express data requirements per component | Fragments are a convenience to improve structuring of GraphQL queries and mutations that generally enable reusablity of GraphQL code |
GraphQL Subscriptions | No explicit means to integrate subscriptions | Subscriptions supported through subscriptions-transport-ws |
Best Use Case | Large, complex systems with lots of interdependencies that are handled by Relay (ensures long-term productivity) | Small to medium scale applications |
Created
March 21, 2017 18:37
-
-
Save nikolasburk/36cae3e7f79074a34c4d64f1428c96ac to your computer and use it in GitHub Desktop.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment