В чем разница между клиентом Apollo и ретранслятором? [закрытый]
Я только что познакомился с GraphQL и решаю между двумя фреймворками (Apollo и Relay) для реализации моего переднего плана React web app.
Я знаю, что ретранслятор построен Facebook, а Apollo-Meteor. Пробовал ли кто-нибудь и то, и другое, и каков был ваш опыт? Мне интересно, каковы различия между ними и какие приложения GraphQL выиграют от использования Relay по сравнению с Apollo.
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 на время сборки . Аполло предлагает дополнительные инструменты для этого.