В чем разница между клиентом Apollo и ретранслятором? [закрытый]


Я только что познакомился с GraphQL и решаю между двумя фреймворками (Apollo и Relay) для реализации моего переднего плана React web app.

Я знаю, что ретранслятор построен Facebook, а Apollo-Meteor. Пробовал ли кто-нибудь и то, и другое, и каков был ваш опыт? Мне интересно, каковы различия между ними и какие приложения GraphQL выиграют от использования Relay по сравнению с Apollo.

1 2

1 ответ:

TL; DR: Ответ на этот вопрос сводится к "это зависит". Я призываю вас попробовать оба клиента GraphQL и сделать свой собственный вывод. Learn Apollo и Learn Relay - это отличные ресурсы для начала работы с этим, или вы можете попробовать примеры приложений для Relay и Apollo.

Взгляните на это углубленное сравнение Apollo vs Relay. Вот краткий обзор:

Рамки

Реле работает только на Реагируют и РН, в то время как Аполлон-рамочный агностик. Поскольку вы хотите создать приложение React, это не проблема для вас, но все же стоит упомянуть.

GraphQL API

Реле требует пользовательской схемы, описанной далее в спецификацииреле . Apollo работает с любой схемой GraphQL.

Гибкость

Ретранслятор накладывает строгую, фиксированную структуру, которой вам абсолютно необходимо следовать. Аполлон с другой стороны дает вам много различных подходов и вариантов для работы с определенной темой.

Производительность

Реле предлагает большой опыт разработчика, но поставляется с высоким барьером входа. Аполлону требуется больше ручной работы, чтобы все сделать.

Трудность

Реле вводитмного новых понятий и, повторюсь, поставляется с высоким барьером входа. "Аполлон" чрезвычайно легко начать работу с в отличие от этого.

Подписки

Помимо некоторых усилий сообщества, чтобы сделать подписки работают с ретранслятором, на самом деле нет единого мнения о подписках в ретрансляторе. С другой стороны, Apollo прекрасно интегрируется с subscriptions-transport-ws это уже находит широкое применение в обществе. Вот, например, приложение worldchat , использующее подписки GraphQL.

Проверка Схемы

Relay требуетпроверки схемы с помощью Babel на время сборки . Аполло предлагает дополнительные инструменты для этого.