Firebase:
Firebase funktioniert folgendermaßen: Ein oder mehrere Benutzer abonnieren einige Daten, da sie an den Informationen interessiert sind.
Ein Server verfolgt diese Abonnements. Sobald ein neues Abonnement stattfindet, werden einige Daten als Nachricht zurückgesendet.
Wenn ein Client Daten schreibt, überträgt der Pub / Sub-Server dieses Update an alle anderen aktiven Abonnements.
Alles funktioniert wie ein Pub / Sub, also gibt es kein solches "Abfragen". Sie sagen nur, woran Sie interessiert sind, und Sie erhalten Nachrichten, die die Daten beschreiben.
Pros
- Wenn Ihre App eine zentralisierte Datenbank ausführt und von vielen Benutzern aktualisiert wird, ist sie mehr als in der Lage, Echtzeit-Datenaktualisierungen zwischen Geräten durchzuführen.
- In der Cloud gespeichert, so überall verfügbar.
- Plattformübergreifende API (wenn Sie diese Datenbank mit einer App verwenden).
- Sie hosten die Daten, dh wenn Sie viele Daten speichern, müssen Sie sich keine Sorgen um die Hardware machen!
Nachteile:
- Wenn Ihre App keine zentralisierte Datenbank ausführt, die von einer großen Anzahl von Benutzern aktualisiert wird, ist dies ein großer Overkill.
- Das Speicherformat unterscheidet sich grundlegend von dem von SQL (Firebase verwendet JSON), sodass Sie nicht so leicht migrieren können.
- Die Berichterstellungstools werden nicht annähernd denen von Standard-SQL entsprechen.
- Kosten! Begrenzt auf 50 Verbindungen und 100 MB Speicherplatz!
- Sie hosten die Daten nicht. Firebase tut es. Je nachdem, auf welchem Server Sie sich befinden, scheint es in letzter Zeit viel zu stören.
Redux
Redux ist ein Architekturmuster und eine Bibliothek. Ihr Geschenk an Sie ist die Möglichkeit, den Status Ihrer Anwendung in einem einzigen Objekt zu verwalten. Hier ist ein Artikel, der davon spricht, und ein Artikel, der über die Nachteile des Speicherns Ihres gesamten Staates in einem einzigen unveränderlichen Atom spricht.
Loopback
Pros
- Sehr schnelle RESTful API-Entwicklung
- Konvention über Konfiguration
- Eingebaute Modelle sofort einsatzbereit
- RPC-Unterstützung
- Bei Bedarf voll konfigurierbar
- Umfangreiche Dokumentation
- Vollzeit-Team, das an dem Projekt arbeitet
- Verfügbare kommerzielle Unterstützung