3

我正在学习如何使用graphql-rubygem 在 Rails 应用程序中实现 GraphQL API。我不清楚 GraphQL 订阅的用例。

我不清楚 GraphQL 订阅和 ActionCable 之间的区别。

假设我有一个从 GraphQL API 获取数据的移动应用程序。

我可以直接使用 ActionCable 将更改发布到移动客户端吗?如果是,那我为什么要订阅 GraphQL?

4

1 回答 1

0

如果您想在 GraphQL API 中集成订阅,那么 GraphQL 订阅就适合您。您可以想到您喜欢实现的任何实时功能(多人游戏等),您可以在https://github.com/facebook/graphql/blob/master/rfcs/Subscriptions 阅读有关 GraphQL 订阅的更多背景信息。医学博士

GraphQL 订阅和 ActionCable 之间的区别。GraphQL 订阅可以集成到您的 GraphQL API 中。在 RoR 中使用 ActionCable 来帮助开发人员在 RoR 中创建可能的实时功能。如http://graphql-ruby.org/subscriptions/action_cable_implementation.html所述, ActionCable 可用作在 Rails 5+ 上提供 GraphQL 订阅的平台。

对于您的最后一个问题,您所说的移动应用程序是什么意思?你是说原生应用吗?还是您的意思是基于网络的应用程序?对于本机应用程序,它可能取决于您的实现和您使用的库。如果您指的是 Web 应用程序,您可以使用 Relay Modern 或 Apollo 客户端之类的东西来处理指南中提到的订阅。您可以使用 ActionCable 前端的东西来建立连接。您可以在http://graphql-ruby.org/guides中找到有关订阅的所有信息。

于 2018-09-11T14:53:50.987 回答