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

Возможный дубликат:
Лучший способ синхронизировать локальную базу данных HTML5 (хранилище WebSQL, 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. Его определение схемы кажется немного неудобным, но определенно стоит попробовать.

Другие вопросы по тегам