2017-07-12 5 views
0

Graphql、Apollo、AWS S3、Reduxを初めて使用しました。しかし、私はそれぞれのチュートリアルを読んだので、RN、Node、Heroku、Mongoについてよく知っています。私は、 "Graphql Server"がどのようにモバイルデバイス(私の場合はRN)用にホストされているかを正確に理解することができません。同様にNodeを使用してgraphqlサーバーを作成し、AWS S3でホストすることはできますか?私のReact-NativeコードでApollo/Graphqlを使用してそのデータを取得し、Apollo/Reduxを使用してそのデータをローカルに格納しますか? Graphcoolを最初からエンドポイントとして使用する必要がありますか?私がやろうとしているのは、アプリケーションが読み込まれたときにデータベースからデータを取り出すことです(ストリームしたくないので、データをオフラインで使用できるはずです)。より良い理解を得るために私はどこを見ますか?Conseptual Struggle:React Native、Apollo、Node、およびGraphqlサーバはどのように連携しますか?

答えて

1

私はあなたの新しい領土の探査にあなたのためにいくつかのコメントがあります。

GraphQLは、単にデータベースに問い合わせるクエリ言語です。したがって、graphqlを使用してgraphqlのクエリ/突然変異を取り込み、データベースとやり取りする任意のタイプのapi(サーバ、サーバレスなど)を自由に実行することができます。

GraphCoolは、基本的にはサービスとしてのバックエンドです。だから、サーバーを実行すること(サーバーレスインフラストラクチャーでほとんどすべてを実行すると思うので)やDBの格納場所の管理については心配しないでください。

AWS EC2でHTTPサーバーを実行したり、AWS Lambdaを使用してサーバーレスでサーバーを実行できます。 (またはGoogleやAzureと同じ味)。要求を受け入れるために使用するものは何でも、エンドポイントはgraphqlのクエリ文字列を受け取り、dbを使って処理します。 AWS S3は静的なストレージです。取得するファイルやプルできるスクリプトを格納することができますが、S3はおそらくサーバーのようなコードを実行する場所ではありません。

Apolloは、フロントエンドでグラフパネルと簡単にやりとりするためのツールです。 React-Apollo

Apollo/Reduxは、アプリケーション全体の状態を管理するのに役立ちます。ロード時にアプリケーション状態にデータをロードして、それ以上の外部呼び出しを必要とせずにその状態とやりとりするだけです。

うまくいけば、これは役に立ちました。

+3

ありがとうございました!私はGraph.cool(私は強くお勧めします)と一緒に行って、ほとんどのクエリとデータベース構造をコンソールに設定しました。私が最初に気付かなかったことの1つは、Apolloが自動的にキャッシュにクエリ結果の独自のストアを作成するということです。したがって、ReduxでこのStoreを使用することができます。 – IsaacWIvins

関連する問題