Codeek は、この質問は意見に基づくものであるという良い点を持っているので、私の回答は大目に見てください。
Parse と Firebase の両方の経験がありますが、Cognito の経験はありません。私の経験では、大規模なリレーションシップ ベースのデータベースを操作する場合は、Parse の方が適しています。(オブジェクトの複数のクラスが相互に参照して相互作用する IE データベース。) このシステムでは、大量のデータを非常に簡潔に格納するのは簡単ですが、このデータの操作はスナップショットを介して行われます。これは、データのスナップショットを取得して編集し、更新されたスナップショットでサーバーを更新できることを意味します。これは、一度に 1 人のユーザーのみがサーバー上の注文を更新する配送アプリケーションなどに最適です。
Firebase はモデル オブザーバー スキームを実装しているため、高度にインタラクティブなアプリケーションに適しています。たとえば、私は Firebase を使用してホットポテトのリアルタイム ゲームを作成しました。ここでの利点は、サーバー上のデータへの変更が、リスナーとして登録されているすべてのデバイスに自動的にプッシュされることです (私の経験では、Parse では利用できない機能です)。これにより、すべてのユーザーが常に同じページに表示されます。欠点は、データベースが階層的に構造化されており、「オブジェクト」が定義されていないことです。むしろ、親キーが関連付けられた値を持つことができないキーと値のペアによって構造化されています。これを説明するために、データベースにゲームを保存するためのサンプル構造は次のようになりました。
-Games
--1
---Users
----1 = "example@gmail.com"
----2 = "example2@gmail.com"
---PotatoHolder = 1
---TimeRemaining = 30
---Loser = -1
Cognito についてはよく知らないので、そのデータベース システムがどのように設計されているかを誰かに説明してもらいます。
要約すると、これは意見に基づく質問であることは codeek が正しいと思いますが、私の経験から得た 2 つの選択肢については、Parse はシングルユーザー アプリケーション (つまり、シングルプレイヤー アプリケーション) と組み合わせた大規模なリレーションシップ データベースに適しているということです。またはターンベースのゲーム)。Firebase は、リアルタイム マルチプレイヤー アプリケーションと組み合わせた階層型データ システムに適しています。
これが役立つことを願っています!作成しようとしているアプリケーションの種類についてもう少し投稿していただければ、おそらく私または他の誰かがもう少しガイダンスを提供できます.
拡張された回答:この質問はトピック外としてマークされていますが、Parse をモデル オブザーバー スキームとして使用する方法がある場合、Nidhi のフォローアップの質問に答えるには:簡単ではありません。タイマーを使用するのが最も簡単なオプションです。もう 1 つのオプションは、プッシュ通知を使用することです。これには、ユーザーから許可を得る必要があります。Cloud Code on Parse を設定して、関連するすべてのユーザーにプッシュ通知を自動的に送信し、クライアント内で傍受して「サイレント」にすることができます。つまり、到着したら、通常のプッシュ通知のようにリボンや通知を表示せずに、ゲームを更新することでクライアントに応答させることができます。私はその種のアプリケーションに Firebase を使用する方が好きなので、自分でこれを行ったことはありませんが、可能だと信じています。
出典: PFQueryTableView Auto Refresh When New Data Updated or Refresh Every Minute Parse Using
Keith の回答は Nidhi のタイマーによる PFObjects の更新への言及と似ていますが、Handsomeguy のコメントは「サイレント」プッシュ通知の可能性に言及しています。