web-dev-qa-db-ja.com

Parse、Firebase、AWS Cognitoのどちらを使用するのが適切ですか?

私は自分のアプリケーションに同期サービスを使用したいと思っています。しかし、私は最高のものを選びたいです。これらの中でどれが良いか知りたいです。私のアプリケーションはAndroid、IOS、Windows and Web。

テストしたので、Firebaseを使用します。それは私に迅速な結果を与えているし、オフラインで作業することも可能にしている。良いですか、ParseまたはAWS Cognitoを使用しますか?

Google Cloudのオプションもあります。 Google CloudはFirebaseのようなサービスを提供していますか?そして、FirebaseのようなParseでリアルタイムの更新は可能ですか?

27
Nidhi Sen

Codeekには、この質問が意見に基づいているという良い点がありますので、私の答えを一粒一粒にしてください。

ParseとFirebaseの両方の経験はありますが、Cognitoの経験はありません。私の経験では、大規模な関係ベースのデータベースを操作する場合、Parseの方が優れています。 (つまり、オブジェクトの複数のクラスが相互に指し示し、相互作用するデータベース)このシステムでは、大量のデータを非常に簡潔に保存するのは簡単ですが、このデータの操作はスナップショットを介して行われます。つまり、データのスナップショットを取得して編集し、更新されたスナップショットでサーバーを更新できます。これは、一度に1人のユーザーのみがサーバー上の注文を更新する配信アプリケーションのようなものに最適です。

Firebaseはモデルオブザーバースキームを実装しているため、高度にインタラクティブなアプリケーションには非常に適しています。たとえば、Firebaseを使用して、ホットポテトのリアルタイムゲームを作成しました。ここでの利点は、サーバー上のデータへの変更が、リスナーとして登録されているすべてのデバイスに自動的にプッシュされることです(私の経験では、Parseでは機能を利用できません)。これにより、すべてのユーザーが常に同じページに表示されます。欠点は、データベースが階層的に構造化され、「オブジェクト」が定義されていないことです。むしろ、親キーに値を関連付けることができないキー/値のペアを介して構成されます。これを説明するために、データベースにゲームを保存するためのサンプル構造は次のようになりました。

-Games  
--1  
---Users  
----1 = "[email protected]"  
----2 = "[email protected]"  
---PotatoHolder = 1  
---TimeRemaining = 30  
---Loser = -1  

Cognito私はよく知らないので、他の人にそのデータベースシステムがどのように設計されているかを説明できるようにします。

要約すると、codeekはこれが意見に基づく質問であることは正しいですが、2つの選択肢について、私の経験からの良い経験則は、Parseはシングルユーザーアプリケーション(つまりシングルプレイヤーまたはターンベースのゲーム)。 Firebaseは、リアルタイムマルチプレイヤーアプリケーションと組み合わせた階層データシステムにより適しています。

これがお役に立てば幸いです!作成しようとしているアプリケーションの種類についてもう少し投稿できる場合は、おそらく私または他の誰かがもう少しガイダンスを提供できます。

拡張回答:この質問はトピック外とマークされていますが、モデルとしてParseを使用する方法がある場合にNidhiのフォローアップ質問に答えるために-オブザーバースキーム:簡単ではありません。タイマーを使用するのが最も簡単なオプションです。他のオプションは、プッシュ通知を使用することです。 これには、ユーザーから許可を取得する必要があります。関連するすべてのユーザーにプッシュ通知を自動的に送信し、クライアント内でそれらをインターセプトして「サイレント」にするように、Parseのクラウドコードを設定できます。つまり、それらが到着したときに、通常のプッシュ通知のようなリボンや通知を表示せずにゲームを更新することで、クライアントに応答させることができます。 Firebaseをこの種のアプリケーションに使用することを好むため、私は自分でこれを行っていませんが、可能だと思います。
Source:PFQueryTableView新しいデータが更新されたときの自動更新またはParseを使用して毎分更新
Keithの答えは、タイマーを介したPFObjectsの更新に関するNidhiの言及に似ています。ハンサムガイのコメントは、「サイレント」プッシュ通知の可能性について言及しています。

28