Вариант использования подписок GraphQL

Я учусь реализовывать GraphQL API в приложении Rails, используя graphql-ruby драгоценный камень. Мне не совсем понятен сценарий использования подписок на GraphQL.

Я не совсем понимаю разницу между подписками GraphQL и ActionCable.

Допустим, у меня есть мобильное приложение, которое получает данные из API GraphQL.

Смогу ли я использовать ActionCable напрямую для публикации изменений в мобильных клиентах? Если да, то зачем мне подписываться на GraphQL?

1 ответ

Если вы хотите интегрировать подписки в свой API-интерфейс GraphQL, то подписки GraphQL для вас. Вы можете подумать о любой функции реального времени, которую вам нравится реализовывать (многопользовательская игра и т. Д.), Вы можете прочитать дополнительную справочную информацию о подписках GraphQL по адресу https://github.com/facebook/graphql/blob/master/rfcs/Subscriptions.md

Разница между подписками GraphQL и ActionCable. Подписки GraphQL могут быть интегрированы в ваш API GraphQL. ActionCable используется в RoR, чтобы помочь разработчикам создавать функции реального времени, возможные в RoR. Как уже упоминалось на http://graphql-ruby.org/subscriptions/action_cable_implementation.html ActionCable можно использовать в качестве платформы для доставки подписок GraphQL на Rails 5+.

На свой последний вопрос, что вы подразумеваете под мобильным приложением? Вы имеете в виду нативное приложение? Или вы имеете в виду веб-приложение? Для нативного приложения это, вероятно, зависит от вашей реализации и библиотек, которые вы используете. Если вы имеете в виду веб-приложение, вы можете использовать что-то вроде Relay Modern или клиента Apollo для обработки подписок, как указано в руководствах. Вы можете использовать интерфейсные элементы ActionCable для настройки соединения. Вы можете найти все о подписках в http://graphql-ruby.org/guides.

Другие вопросы по тегам