小编典典

Apollo Client和Relay之间有什么区别?

reactjs

我刚被介绍给GraphQL,并正在决定用于实现前端React
Web应用程序的两个框架(ApolloRelay)之间。

我知道Relay是由Facebook构建的,而Apollo是由Meteor构建的。有没有人尝试过这两种方法,您的经历如何?我想知道它们之间有什么区别,与使用Apollo相比,使用Relay可以使哪种GraphQL应用程序受益更多。


阅读 359

收藏
2020-07-22

共1个答案

小编典典

TL; DR: 这个问题的答案归结为“取决于”。我鼓励您尝试使用这两个GraphQL客户端,并得出自己的结论。Learn
Apollo
Learn
Relay
是入门的绝佳资源。

请注意,以下内容是关于中继1而非中继2的。

构架

中继仅在React和RN上有效,而Apollo与框架无关。当您想构建一个React应用时,这对您来说不是问题,但仍然值得一提。

GraphQL API

中继需要在中继规范中进一步描述的自定义架构。Apollo可与任何GraphQL模式一起使用。

灵活性

中继强加了您绝对需要遵循的严格的固定结构。另一方面,Apollo为您提供了许多不同的方法和选择来处理特定主题。

生产率

中继提供了出色的开发人员经验,但入门门槛很高。阿波罗需要更多的人工工作才能完成工作。

困难

中继引入了许多新概念,例如节点,边和连接,并且重申一下,引入了很高的障碍。与此相反,Apollo非常容易上手。

订阅内容

除了在社区中使中继与订阅一起工作的一些努力之外,关于中继中的订阅并没有真正达成共识。另一方面,阿波罗(Apollo)可以很好地与之集成,subscriptions- transport-ws从而在社区中获得了广泛的采用。例如,这是一个使用GraphQL订阅worldchat应用程序

模式检查

中继需要在构建时使用Babel进行模式检查。为此,Apollo提供了可选工具。

2020-07-22