我正在学习使用graphql-ruby
gem在Rails应用程序中实现GraphQL API的知识。我不清楚GraphQL订阅的用例。
我不清楚GraphQL订阅和ActionCable之间的区别。
假设我有一个移动应用程序,该应用程序从GraphQL API获取数据。
我可以直接使用ActionCable将更改发布到移动客户端吗?如果是,那我为什么要使用GraphQL订阅?
答案 0 :(得分:0)
如果您希望将订阅集成到GraphQL API中,那么GraphQL订阅适合您。您可以想到自己想实现的任何实时功能(多人游戏等),也可以在https://github.com/facebook/graphql/blob/master/rfcs/Subscriptions.md上阅读有关GraphQL订阅的更多背景信息。
GraphQL订阅和ActionCable之间的区别。 GraphQL订阅可以集成在您的GraphQL API中。 RoR中使用了ActionCable,以帮助开发人员创建RoR中可能的实时功能。如http://graphql-ruby.org/subscriptions/action_cable_implementation.html所述,ActionCable可用作在Rails 5+上交付GraphQL订阅的平台。
对于最后一个问题,移动应用程序意味着什么?您是本机应用程序吗?还是说基于Web的应用程序?对于本机应用程序,它可能取决于您的实现和使用的库。如果您指的是Web应用程序,则可以按照指南中的说明使用Relay Modern或Apollo客户端之类的工具来处理订阅。您可以使用ActionCable前端东西来建立连接。您可以在http://graphql-ruby.org/guides中找到有关订阅的所有信息。