Как сделать синхронизацию оффлайн приложения?

Пишу оффлайновое приложение на ангуляре. Нужно как-то организовать синхронизацию. И тут два вопроса:
1) Чтобы приложение не тормозило нужно чтобы пользователь работал с данными в оперативной памяти, но была синхронизация с localStorage.
2) Нужно чтобы при появлении интернет соединения данные из localStorage писались и на сервер.
Может кто-нибудь сталкивался с таким. Как лучше организовать синхронизацию?
  • Вопрос задан
  • 848 просмотров
Пригласить эксперта
Ответы на вопрос 2
SynCap
@SynCap
Делаю интернет с 1998 года
Очень хороший пример - devdocs.io
+ Автоматическая синхронизация
+ Хранилище - IndexedDB
+ полный стек оффлайн приложения с большими наборами данных
+ блин, все просто: 8 api вызовов к браузеру!

Кстати, народ обычно забывает, что и WebKit, и Mozilla Local/Session Storage организованы поверх встроенного движка SQLite. Это я к тому, что некошерно хранить серьезные данные в Storage, когда есть в распоряжении мощный движок для хранения данных, не просто Key->ShortValue, а движок Key->Document (иначе обзываемый NoSQL).

Поясню разницу: в Local/Session Storage уместно хранить небольшой набор часто используемых данных с небольшими конкретными значениями, для хранения документов - используйте движок IndexedDB. Нет смысла прятать в IDB куки - обращение к Storage в этом случае значительно быстрее, но впихивать в Storage документы - это уже полное извращение, в этом случае IDB будет в сотни раз быстрее.

Вдогонку: модный некогда термин NoSQL, по сути свелся к механизмам хранения Key->Document, и современные документ-ориентированные хранилища теперь пытаются приспособить SQL к этим движкам.

Учите матчасть, потомки!
Ответ написан
Комментировать
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы