Концептуальная борьба: как работают React Native, Apollo, Node и сервер Graphql?

Я новичок в Graphql, Apollo, AWS S3 и Redux. Но я прочитал учебники для каждого и знаком с RN, Node, Heroku и Mongo. У меня возникают проблемы с пониманием того, как именно сервер Graphql размещается на мобильном устройстве (RN в моем случае). Например, я могу создать сервер graphql с Node и разместить его на AWS S3? Схватить эти данные с помощью Apollo/Graphql в моем коде React-Native и сохранить эти данные локально с помощью Apollo/Redux? Должен ли я использовать Graphcool в качестве конечной точки с самого начала вместо этого? Все, что я пытаюсь сделать, это извлечь данные из моей базы данных, когда приложение загружается (не хочу передавать его в потоковом режиме, я должен иметь возможность использовать данные в автономном режиме). Где я могу получить лучшее понимание?

1 ответ

Решение

У меня есть пара комментариев для вас в вашем исследовании новой территории.

GraphQL - это просто язык запросов для общения с вашей базой данных. Таким образом, вы можете запускать любой тип API (на сервере, без сервера и т. Д.), Который будет использовать graphql, чтобы принимать запрос / мутацию graphql и взаимодействовать с вашей базой данных.

GraphCool - это "готовый к работе бэкэнд", в основном бэкэнд как сервис. Таким образом, вам не придется беспокоиться о работе сервера (так как я считаю, что они работают почти все в безсерверной инфраструктуре) или управлении размещением вашей БД.

Вы можете запустить HTTP-сервер на AWS EC2 или без сервера, используя AWS Lambda. (Или тот же аромат с Google или Azure). Что бы вы ни решили использовать для принятия запросов, ваша конечная точка будет принимать строки запроса graphql, а затем делать вещи с базой данных. AWS S3 - это больше статического хранилища. Там вы можете хранить файлы для извлечения или сценарии, которые можно извлечь, но S3, вероятно, не там, где вы хотели бы запускать серверный код.

Apollo - это инструмент, который можно использовать на вашем интерфейсе для простого взаимодействия с вашим сервером GraphQL. Реагировать-Аполлон

Apollo/Redux может помочь вам управлять состоянием во всем приложении. Вы просто загрузите данные в состояние приложения под нагрузкой, а затем будете взаимодействовать с этим состоянием, не делая дополнительных внешних вызовов, как это звучит.

Надеюсь, это было полезно.

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