1

自動保存を保存パターンとして使用しているウェブアプリを開発しています。この機能により、予期せぬUIの問題が発生しました。ローカルストレージを自動保存プロキシとして使用する - 良いか悪いですか?

概念のユーザー理解を向上させるために、文書が保存されるたびに視覚的なフィードバックを伴う定期的ではなく自動保存を行いたいと考えました。

ローカルストレージを一時的なデータキャッシュとして使用し、すべてのユーザーデータをバックグラウンドでWebサーバーと同期させるような間隔を短く設定することを考えました。これは、可能性のあるリビジョンの競合シナリオを扱う際に、いくつかの悪影響を及ぼします。

は、誰もが自動保存パターンとデータプロキシとして/または使用して、ローカルストレージの経験を持っていた、と

答えて

0

は、私はあなたが意味するインスタントで想定するいくつかの貴重な情報を共有することができ、すべてのユーザー編集アクション(またはキープレスまたは何でも)した後? ここにあるデータによって異なります。 場合、ユーザーは何かが編集した= trueにスイッチを設定して編集すると

:あなたが唯一のテキスト文書を持っている場合 は私がなぜ直接サーバー と対話することが、私は例えばのようないくつかの睡眠時間を追加しない理由を見ません最後のコミットは10秒前より長く、現在の状態をコミットします(この時点でドキュメントが変更されている可能性があります)。 は現在の時刻に最後のコミットスイッチを設定します。

私は、ローカルバッファは非常に複雑で、おそらくその有用なものより多くの痛みをもたらすと思います。

しかし、一般的なやり方を決めるのであれば、より高い頻度で(ただし、上記の方法を使用して)バッファを満たし、より低い頻度でサーバーに送信させることです(上記の方法)。第1バッファから第2バッファにタイムスタンプ/インクリメントIDが渡されます。 すべてのバッファまたはストレージserverからコンテンツを復元するときに、最新のバージョン(最初のバッファからのインクリメントID)を使用すると、タイムスタンプ/インクリメントIDが使用されます。

+0

Buなぜスリープ時間を追加するのですか?ローカルストレージを使用すると、保存が瞬間的になる可能性があります。ローカルバッファの頻度は、各ユーザアクション上にあり、サーバの頻度は、例えば10秒ごとにあり得る。 – David

+0

できますか?あなたのデータとアプリケーションによって異なります。保存手順で何msもかかる場合は、おそらく大丈夫です。このサブジェクトに関するいくつかの文献では、リアルタイムインタラクションには合計で50ミリ秒の許容時間があります。私の視点では間違っています。教科書から述べると、エディットアクションとセーブアクションが50ミリ秒以下であれば大丈夫です。 Photoshopがすべての変更でプロジェクトファイルを自動保存することを想像してみてください。ローカルのものとは異なり、無限のリソースがあります。だからこそ、他のコンピュータよりも優れたコンピュータがあり、ラムとCPUとは何かを考えているのです。 –

+0

おそらくデータはテキストだけで、ほとんどが小さなノートだと言わなければなりません。 – David

関連する問題