2016-03-08 13 views
5

Unser Entwicklerteam begann mit der großartigen Umstellung auf das Angular2/Ionic2-Framework und ein kleines Detail ließ uns ratlos zurück - was ist der beste Weg, Datenpersistenz zu erreichen? Ich habe ein fast zwei Jahre altes Google-Dokument in einem Design für Ang2-Datenpersistenz gefunden, es scheint jedoch nicht so zu sein, dass es überhaupt implementiert wurde. Die wichtigsten Funktionen, die ich brauche, sind:Angular 2 Data Persistence

  1. die Daten auf dem Client und Server-Seite zu binden, so wird jede Änderung verpflichtet automatisch
  2. lokalen Datensatz mit zu arbeiten, wenn die Anwendung
  3. Caching der Offline-Arbeit offline geht, Synchronisierung mit dem Backend sofort auf Wiederverbindung

(kurz gesagt, die Funktionalität von Swarm.js zum Beispiel) haben ich Blogs, Stackoverflow gesucht, aber bisher keine Antwort - soweit ich verstanden, ich kann‘ t sogar weit akzeptiert d externe Lösungen, wie PouchDB, um dieses Problem zu lösen, und http-Get/Post-Aufrufe mit manuellem Caching in localStorage ständig machen, werden es für die Projekte, an denen wir arbeiten, nicht tun. Was denken Sie? Gibt es einen Weg, dies zu erreichen?

Antwort

4

PouchDB dev hier. Im Prinzip können Sie jede clientseitige Datenbank mit Angular verwenden. Persönlich habe ich ein paar Angular Apps geschrieben, die Straight-up PouchDB verwendet haben (sah nie eine Notwendigkeit für angular-pouchdb TBH). Hier ein Open-Source-Beispiel: https://github.com/pouchdb/npm-browser

PouchDB ist jedoch für die Synchronisierung mit CouchDB optimiert. Wenn Sie nur eine einfache Schlüsselwertspeicher-API als Ersatz für LocalStorage wünschen, empfehle ich LocalForage. Es ist versprechungsbasiert, also können Sie es einfach mit $q.when() umschließen und es in einem Angular-Dienst verwenden, und es sollte Angular ziemlich nativ vorkommen.

+0

Danke. Ich denke, wir werden ein kleineres Forschungsprojekt mit Ionic2 + PouchDB als Datensynchronisierungslösung durchführen. – zzllee

+0

Wie eckig 2 Werbung Typoskript, gibt es auch etwas für Offline-Cache, Synchronisierung bei Online-Szenarien? Welchen eckigen 2-Entwickler verwenden normalerweise solche Fälle für eine Unternehmensanwendung? –