2016-03-08 18 views
5

私たちの開発チームは、Angular2/Ionic2フレームワークへの大きな転換を開始しました。私たちは困惑していました。これがデータの永続化を達成する最良の方法です。私はAng2データ永続性のためのDesignでほぼ2年前のGoogle Docを見つけましたが、それはまったく実装されていないようです。私が必要とする最も重要な機能は以下のとおりです。クライアントとサーバー側のデータを結合角2データの永続性

  1. ので、すべての変更は自動的にアプリケーションがオフラインの作業をキャッシュ
  2. オフラインになったときに動作するよう
  3. ローカルデータセットをコミットします、すぐに再接続

にバックエンドでそれを同期(要するに、例えばSwarm.jsの機能) 私はブログ、stackoverflowの、これまでのところありません答えを検索した - 限り、私は私ができる理解されるように」広く受け入れられるこの問題を解決するためのPouchDBのような外部のソリューションと、localStorageで手動でキャッシュするhttpのget/postコールを常に行っているのは、私たちが取り組んでいるプロジェクトではありません。どう思いますか?これを達成する方法はありますか?

答えて

4

ここにPouchDB dev。原則として、任意のクライアント側データベースをAngularで使用できます。私は個人的にはまっすぐなPouchDBを使ったいくつかのAngularアプリケーションを書いています(angular-pouchdb TBHの必要は見かけませんでした)。ここにオープンソースの例があります:https://github.com/pouchdb/npm-browser

PouchDBはCouchDBと同期するように最適化されています。 LocalStorageを置き換える単純なKey-ValueストレージAPIが必要な場合は、LocalForageをお勧めします。それは約束に基づいているので、それを$q.when()で包んでAngularサービスで使用すると、Angularのネイティブ感を感じるはずです。

+0

ありがとうございました。データ同期ソリューションとして、Ionic2 + PouchDBを使用した小規模な研究プロジェクトを実施する予定です。 – zzllee

+0

角度2のプロモーション用のタイスクリプトと同様に、オフラインキャッシュの場合も同様です。オンラインシナリオでは同期しますか?エンタープライズアプリケーションのためにこのようなケースを達成するために通常どの角度2 devが使用しますか? –