Relay vs Redux vs Apollo with GraphQL 和 React-Native
Relay vs Redux vs Apollo with GraphQL and React-Native
我必须从头开始一个新的(Web + 本机)项目(中型应用程序)。由于存在过多的 JS 框架和实现,尤其是在过去的几年中,我对我常用的堆栈产生了第二次怀疑。
我一直在前端使用 React + redux 以及 Node,在后端使用 MongoDB 通过 REST API 进行通信。
对于这个新项目,我决定使用 React-Native + React Native for Web + Node + PostgreSQL。但是,我想知道我应该使用哪个框架来获取数据和 state/store 管理。
到目前为止,redux 对我来说效果很好。但是,由于 JS 进化的性质。我对过去使用的相同堆栈有点怀疑。
如果我使用以下堆栈,优缺点是什么
React-Native + React-Native-For-Web + Redux + GraphQL + Node + PostgreSQL
React-Native + React-Native-For-Web + Relay + GraphQL + Node + PostgreSQL
React-Native + React-Native-For-Web + Apollo + GraphQL + Node + PostgreSQL
看了很多文章说使用各个框架的好处,但是内容和文章的数量有点吓人。我明白没有正确或错误的答案。但是,最好知道上述哪个堆栈可以很好地结合在一起,记住 - 更少的学习曲线、良好的文档、可维护性、更少的解决方法。
我认为如果您有 React + Redux 背景,那么 Apollo 应该是您的不二之选!
Note: If you're a complete newcomer to GraphQL, I recommend you check out How to GraphQL where you'll find tutorials both on Relay and Apollo.
几条信息:
- 中继功能非常强大,但也极其复杂,并且学习曲线明显。
- Apollo 建立在 Redux 之上,尽管这与您作为开发人员并不相关,因为商店对您是隐藏的。但是,使用了与 Redux 中类似的概念,例如使用
updateQueries
. 更新商店
- 如果您想管理服务器缓存数据以外的状态,combine the Apollo store with your own Redux store 也非常简单
- 有了Apollo,你还可以使用realtime subscriptions
- 我绝对建议不要使用 Apollo 或 Relay,而只使用 Redux,因为在发送查询、变更、缓存和 UI 更新时,这两个框架都可以减轻您的负担。但是,如果您正在寻找更轻量级的 GraphQL 客户端,您可能想看看 Lokka。
查看此 in-depth article 比较 Relay 和 Apollo 了解更多背景信息。
如果您想了解有关 Relay 和 Apollo 的更多信息,请查看 How to GraphQL 教程网站。
顺便说一下,如果您不想自己构建后端,另一个选项是 Graphcool(免责声明:我为他们工作 :))。
我必须从头开始一个新的(Web + 本机)项目(中型应用程序)。由于存在过多的 JS 框架和实现,尤其是在过去的几年中,我对我常用的堆栈产生了第二次怀疑。
我一直在前端使用 React + redux 以及 Node,在后端使用 MongoDB 通过 REST API 进行通信。
对于这个新项目,我决定使用 React-Native + React Native for Web + Node + PostgreSQL。但是,我想知道我应该使用哪个框架来获取数据和 state/store 管理。
到目前为止,redux 对我来说效果很好。但是,由于 JS 进化的性质。我对过去使用的相同堆栈有点怀疑。
如果我使用以下堆栈,优缺点是什么
React-Native + React-Native-For-Web + Redux + GraphQL + Node + PostgreSQL
React-Native + React-Native-For-Web + Relay + GraphQL + Node + PostgreSQL
React-Native + React-Native-For-Web + Apollo + GraphQL + Node + PostgreSQL
看了很多文章说使用各个框架的好处,但是内容和文章的数量有点吓人。我明白没有正确或错误的答案。但是,最好知道上述哪个堆栈可以很好地结合在一起,记住 - 更少的学习曲线、良好的文档、可维护性、更少的解决方法。
我认为如果您有 React + Redux 背景,那么 Apollo 应该是您的不二之选!
Note: If you're a complete newcomer to GraphQL, I recommend you check out How to GraphQL where you'll find tutorials both on Relay and Apollo.
几条信息:
- 中继功能非常强大,但也极其复杂,并且学习曲线明显。
- Apollo 建立在 Redux 之上,尽管这与您作为开发人员并不相关,因为商店对您是隐藏的。但是,使用了与 Redux 中类似的概念,例如使用
updateQueries
. 更新商店
- 如果您想管理服务器缓存数据以外的状态,combine the Apollo store with your own Redux store 也非常简单
- 有了Apollo,你还可以使用realtime subscriptions
- 我绝对建议不要使用 Apollo 或 Relay,而只使用 Redux,因为在发送查询、变更、缓存和 UI 更新时,这两个框架都可以减轻您的负担。但是,如果您正在寻找更轻量级的 GraphQL 客户端,您可能想看看 Lokka。
查看此 in-depth article 比较 Relay 和 Apollo 了解更多背景信息。
如果您想了解有关 Relay 和 Apollo 的更多信息,请查看 How to GraphQL 教程网站。
顺便说一下,如果您不想自己构建后端,另一个选项是 Graphcool(免责声明:我为他们工作 :))。