![ファイアベース:](https://rvso.com/image/1510190/%E3%83%95%E3%82%A1%E3%82%A4%E3%82%A2%E3%83%99%E3%83%BC%E3%82%B9%3A.png)
私は Web アプリを開発し、その後対応する Android/iOS アプリを開発したいと考えています。これまでのところ、React とモバイル用の React Native を使用するフロントエンドのみを決定しました。
残りのテクノロジー スタックについては、meteor.js の使用を検討しています。その場合、間違っていたら訂正してください。別のテクノロジーは必要ありません。
しかし、代替案も検討しており、私が読んだことのあるものとしては、loopback、firebase、redux があります。私はこれらすべてについてかなり初心者なので、これはおそらくまったく異なる比較であることは承知していますが、それぞれが私にどのような効果をもたらすのか、これはどちらか一方を選択する状況なのか、それともこれらのいくつかを組み合わせた方が良いのか、よくわかりません。Redux は meteor.js ワークフローにも適合するようです。
まとめると、これらすべてがどのように組み合わさり、どのような組み合わせがテクノロジー スタックとして意味をなすのかを誰かが説明してくれるとありがたいです。
答え1
ファイアベース:
Firebase は次のように動作します。1 人以上のユーザーが情報に興味があるため、何らかのデータをサブスクライブします。
サーバーはこれらのサブスクリプションを追跡します。新しいサブスクリプションが発生するとすぐに、いくつかのデータがメッセージとして送り返されます。
1 つのクライアントがデータを書き込むと、pub/sub サーバーはこの更新を他のすべてのアクティブなサブスクリプションにブロードキャストします。
すべてが pub/sub として機能しているため、「クエリ」という概念はありません。興味のあるものを伝えるだけで、データを説明するメッセージが届きます。
長所
- アプリが集中型 DB を実行し、多数のユーザーによって更新される場合、デバイス間のリアルタイム データ更新を処理する能力は十分にあります。
- クラウドに保存されるため、どこからでも簡単に利用できます。
- クロスプラットフォーム API (この DB をアプリで使用している場合)。
- データはホストされるため、大量のデータを保存する場合でもハードウェアについて心配する必要はありません。
短所:
- アプリが膨大な数のユーザーによって更新される 1 つの集中データベースを実行しない限り、これは過剰な処理です。
- ストレージ形式は SQL とはまったく異なります (Firebase は JSON を使用します) ので、簡単に移行することはできません。
- レポート ツールは標準 SQL のツールにはまったく近づきません。
- コスト! 接続数は 50 まで、ストレージ容量は 100 MB までに制限されます。
- データをホストするのはあなたではありません。Firebase がホストします。どのサーバーに配置されるかによって異なりますが、稼働時間を見ると、最近は多くの中断があるようです。
戻ってきた
Reduxはアーキテクチャパターンでありライブラリです。アプリケーションの状態を単一のオブジェクトで管理できるという利点があります。記事そういえば、記事 すべての状態を単一の不変のアトムに保存することの欠点について話します。
ループバック
長所
- 非常に迅速なRESTful API開発
- 設定よりも規約
- すぐに使える組み込みモデル
- RPC サポート
- 必要に応じて完全に構成可能
- 詳細なドキュメント
- プロジェクトに取り組んでいるフルタイムチーム
- 利用可能な商用サポート