2017-05-29 7 views
1

私は高校生で、私の学校のさまざまな目的のためにウェブアプリケーションのネットワークを作りようとしています。 React on Meteorを使用していますが、これらのアプリケーションを構築するための最良の方法は何か分かりません。アプリは同じユーザーアカウントを使用し、このネットワーク内の別のアプリケーションに既にログインしている場合は自動的にログインすることができます。私はまた、小さなアプリケーションごとに管理用アプリケーションを構築する必要があります。同じバックエンドを持つ複数の流星アプリ

これを行うには、これらのアプリケーションでデータを接続するためにDDPを使用する必要があると思いますか?もしそうなら、私はバックエンドのMeteorアプリケーションを作成して、ユーザーとデータベースを制御し、さまざまな目的のためにフロントエンドのMeteorアプリケーションを分離する必要がありますか?

これらのアプリケーションをどのように構成することをおすすめしますか?どうもありがとうございます!

答えて

0

あなたは正しい方法です。 1つの流星アプリがバックエンドになる予定です、他の流星アプリはマスターアプリのクライアントになる予定です。 DDPは道のりです。 DDPを使用してクライアントをサーバーアプリケーションに接続すると、フロントエンドは2つのアプリが同じアプリであるかのように機能します。それはとてもうまくいく。ここで

はDDP.connect(URL)ドキュメントです:here

これは公式Meteor guideからである:データの共有

もう一つの重要な考慮事項は、あなたが別の間でデータを共有しましょう方法ですアプリケーション。

最も簡単な方法は、両方のアプリケーションを同じMONGO_URLにポイントし、両方のアプリケーションがデータベースから直接読み書きできるようにすることです。これはMeteorのデータベースへの反応性のサポートのおかげでうまく機能します。あるアプリがMongoDBの一部のデータを変更すると、Meteorのライブクエリのおかげで、データベースに接続されている他のアプリのユーザーはすぐに変更を見ることができます。

ただし、1つのアプリケーションをマスターにして、API経由で他のアプリケーションのデータへのアクセスを制御する方がよい場合もあります。これは、異なるアプリケーションを異なるスケジュールにデプロイし、データの変更方法を慎重にする必要がある場合に役立ちます。

サーバーサーバーAPIを提供する最も簡単な方法は、MeteorのビルトインDDPプロトコルを直接使用することです。これは、Meteorクライアントがサーバーからデータを取得するのと同じ方法ですが、異なるアプリケーション間で通信するためにも使用できます。 DDP.connect()を使用して "クライアント"サーバーからマスターサーバーに接続し、返された接続オブジェクトを使用してメソッド呼び出しを行い、パブリケーションから読み取ることができます。

+0

ありがとうございました!それは私の多くを助けます。 – Leo

+0

もう1つのフォローアップの質問があります。これらのクライアントアプリケーションのいずれかでデータベースを変更する場合は、Meteorメソッドを使用してこれらを行いますか? (私はデータベースに直接アクセスすることができないので、DDPのみ) – Leo

+0

はい、メソッドを使用する必要があります。 Meteorでデータベースを挿入または更新するには、常にメソッドを使用します。 –

関連する問題