Feathers: オフラインファーストアプリのデータベース同期

作成日 2016年03月16日  ·  20コメント  ·  ソース: feathersjs/feathers

FeathersJSは夢が叶ったようです。 しかし、私には、オフラインファーストのアプリを構築するための非常に重要な機能の1つ、つまりリモートデータベースとローカルデータベースを同期する機能が欠けています。

これは、この種の同期機能を提供するすべてのソリューションを示すキントー別のリストです。 すでにlocalstorageデータベースがありCouchDBのプラグインはこれを可能にしますか?

Discussion Proposal Question

最も参考になるコメント

feathers-levelupを使用して、ノードにleveldown (またはその他のストレージバックエンド)、ブラウザにlevel-jsして、ユニバーサル(同形)ストレージが可能になりました。 (@ derek-watsonに感謝します!)

クライアントサービスとサーバーサービスの同期を維持することは読者に任されていますが、リアルタイムのデータイベントを使用することは簡単です。 ここで何か進歩があれば、再利用可能なモジュールをいただければ幸いです。これは素晴らしいことです。 :スマイル:

全てのコメント20件

ええ、最初にオフラインは機能を持っている必要があります。 PouchDBとのフックは簡単だと思いますが、MongoDB(ここにいる理由はMongoDBです)を学び、楽しむ必要があるので、ローカルからのデータを同期できれば(これはブラウザー経由でリモートでのMongoDBへのstorage / IndexedDB( minimongoなど

TL; DRアクティブ/バギーではなく、古くなっている/死んでいるように見えるこのFeatherJSが必要です

乾杯

@katopz現在、自動オフラインモードはサポートされていません。 現在はあなたに任されています。 私たちはそれを完全に具体化する時間がありませんでしたが、私は今これを行うためのすべての要素が整っていると確信しています。

クライアントでhttps://github.com/feathersjs/feathers-localstorageを使用すると、データをキャッシュするフックを設定できるはずですafterサービスがデータを返すか、ローカルストレージキャッシュをチェックしますbeforeサービスがサーバーにヒットします。

来月かそこらでこれを具体化する時間があることを願っています。 誰かがひびを入れてPRやガイドを提出したい場合は素晴らしいでしょう! :スマイル:

私たちは間違いなくそれについて考え、それを行うためのピースを構築してきましたが、まだアイデアを完成させる時間がありませんでした。

feathers-levelupを使用して、ノードにleveldown (またはその他のストレージバックエンド)、ブラウザにlevel-jsして、ユニバーサル(同形)ストレージが可能になりました。 (@ derek-watsonに感謝します!)

クライアントサービスとサーバーサービスの同期を維持することは読者に任されていますが、リアルタイムのデータイベントを使用することは簡単です。 ここで何か進歩があれば、再利用可能なモジュールをいただければ幸いです。これは素晴らしいことです。 :スマイル:

はい! レベルアップを忘れてしまいました! 多くの:heart:@ derek-watsonにそのために! 技術的には、ブラウザでもNeDBを使用できます。 したがって、いくつかの異なるストレージエンジンオプションがあります。

再利用可能なモジュールよりもレシピのように見えると思います。 多分どこかにいくつかのバンドルされたフック。 私たちが行う前に誰かがこれについて進歩した場合は、共有してください。 そうでなければ、おそらく来月中に#227と一緒にこれに到達するでしょう。

leveldbのものは素晴らしく見えます! https://github.com/feathersjs/feathers/issues/256と組み合わせると、実際のオフライン機能を実装するための優れたベースになると思います。 リアクティブ拡張機能を使用すると、クライアント側のフォールスルーキャッシュなどの実装がはるかに簡単になり、完全なオフライン同期への小さなステップになります。

私はfeathersjsの一般的なオフラインニーズをサポートするためにReduxミドルウェアに取り組んでいます。

すぐに最初のバージョンを終了したいと思っています。

@hnordt素晴らしい! あなたは@ahdinosaurさんを見てみたいことがありますhttps://github.com/ahdinosaur/feathers-action@saiichihashimotohttps://github.com/saiichihashimoto/feathers-react-reduxインスピレーションを得るためまたは多分にコラボ!

@ekryskiありがとうございます。 ちょっと見てみます。

Feathers-react-reduxを実際に使用するには、いくつかの作業が必要です。計画がうまくいきませんでした。 ;-)

pouchdbのサポートを追加するための+1

NeDBを使用するのが最良のオフライン同期オプションだと思います。 すでに完全なクエリ構文をサポートしているため、サーバーに接続している場合と同じようにクエリを実行できます。 それは途方もなくパフォーマンスが高く、ブラウザ用のプラグ可能なストレージエンジンを備えています。 さらに、すでにアダプターが構築されています。

NeDBソリューションの場合は+1。 サーバーにも気に入っています。

NeDBまたはLokiJSまたはPouchDB?
NeDBと比較すると、LokiJSの方がさらに高速であり、作成者は完全に互換性のあるmongodbapiを開発する計画を立てていたので私はLokiJSを好みます。
PouchDBの場合、CouchDBと完全に互換性があります。 したがって、単一のコマンドを使用して、データベースを任意のCouchDBサーバーに同期できます。

ロキはかなりかっこいいですね。

LinvoDbhttps ://github.com/Ivshti/linvodb3をお勧めし
ライブクエリがあり、NeDBよりも優れた拡張性を備えています

ローカルストレージで多くの手作業を行う以外に、モバイルストレージとオフラインファーストアプリケーションについて何も知らないので、私は文字通り最高のオフラインストレージソリューションが何であるかについて意見がありません。 しかし、ヘッドスタートで何をしているのか、いくつかのスイッチを他のスイッチに切り替えた場合に備えて何を考えているのかについて、いくつかのコンテキストで投げる価値があるでしょう。

11月から12月にかけて、アプリケーションにかなりのオフライン機能を追加することを検討しているため、この問題の核心にはまだ取り組んでいません。

それまでの間、mvpに必要なオフライン機能の一部にredux-persistのようなものを使用する予定です。

https://github.com/rt2zz/redux-persist

私が考えているのは、feathersがモバイルローカルアダプター自体をサポートする必要がある理由があるということだと思います。

@ekryskiがほのめかしているように、ライブラリ内の再利用可能なフックのセットの方が良いアイデアかもしれません。 サーバー側だけでなくモバイル用の多くのアダプターをサポートしようとすると、人々が使用して求めているさまざまなソリューションの数を考えると(上記でも)、フェザーがサポートするには少し広すぎるかもしれません。

私は、モバイル接続に基づいて「統合」する方法を示すフックのライブラリを好みます。これは、各ユーザーが使用したいローカルストレージシステムに適用できます。

それが理にかなっていることを願っています、そして私は完全に誤解していません。

参考のために@ gor181

@ Mentioum 11月/ 12月のMVPはどうですか、何を使うことにしましたか?

ForerunnerDBを使用することを選択しました

日、2016年11月27日には、12:12 PMルークブローウェル氏[email protected]
書きました:

@Mentioumhttps ://github.com/Mentioum11月/ 12月のMVPはどうですか
何を使うことにしましたか?


あなたがコメントしたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/feathersjs/feathers/issues/264#issuecomment-263144379
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/ACFSMbrn_nO1oyNsoK0F41BqaetzowkNks5rCeQqgaJpZM4HxjN7

>>

マクシミリアンアレクサンダー
[email protected]
www.maxofeden.com

@eddyystopは、オフラインの面で素晴らしい仕事をしています。 関連するすべてのリポジトリへのリンクが記載されたガイドは、 https://docs.feathersjs.com/guides/offline-first/readme.htmlにあります。

具体的な議論や質問は、適切なリポジトリに向けてください。そうすれば、これを閉じることができると思います。

この問題は、クローズされた後、最近のアクティビティがないため、自動的にロックされています。 関連するバグについては、この問題へのリンクを含む新しい問題を開いてください。

このページは役に立ちましたか?
0 / 5 - 0 評価