Как синхронизировать локальное хранилище HTML5/webStorage и серверную память?

Возможный дубликат:Лучший способ синхронизации локальной базы данных HTML5 (WebSQL Storage, SQLite) с сервером (двухсторонняя синхронизация)

В настоящее время я ищу решения для прозрачной и автоматической синхронизации и репликации на клиентском узле HTML5 localStorage или в веб-хранилище и (возможно, на нескольких) серверных хранилищах (единственное требование здесь, чтобы оно было простым и доступным для установки на обычную услугу хостинга).

Итак, есть ли у вас опыт работы с такими библиотеками/технологиями, которые предлагают хранилище данных, которые автоматизируют синхронизацию хранилища клиент-сервер и позволяют предоставлять данные в автономном режиме или в Интернете или в обоих случаях? Я думаю, что это довольно распространенный сценарий веб-приложений, поддерживающих автономный режим...

4 ответа

Firebase предлагает эту функциональность как услугу.

Другие альтернативы:


Это зависит от того, что вы хотите. Существует большой учебник, чтобы вы начали с http://hacks.mozilla.org/2010/01/offline-web-applications/ Если вы не хотите делать что-то сложное, вам не нужно, чтобы большая часть фреймворка сделайте это за вас. Я думаю, вы могли бы сохранить несколько строк кода на клиенте, используя jQuery. В основном вы хотите сохранить в своем хранилище запись о том, когда последнее изменение было внесено в хранилище, когда последнее обновление было на сервере, и использовать отправку переменной localStorage, закодированной как JSON, в XHR (или просто бит локального магазин, который вы хотите отправить). Затем на сервере вы можете декодировать JSON и делать с ним то, что хотите, обрабатывать его или просто использовать сериализацию PHP, чтобы сбрасывать его в базу данных.

Если у вас есть что-то особенное, упомяните об этом.


этот вопрос довольно схож.

Там, "быстрое соединение" - http://quickconnect.pbworks.com/Using-Enterprise-Synchronization и рекомендуется моя личная поддержка 'persistenceJS' - https://github.com/zefhemel/persistencejs.

Как только я соберу личный опыт, я обновлю этот пост.


Я только что нашел совершенно новую структуру, которая делает именно это: Impel.inTouch. Его определение схемы кажется немного неудобным, но определенно стоит попробовать.

licensed under cc by-sa 3.0 with attribution.