Могу ли я использовать CouchDB mobile в качестве замены для localStorage?

У меня есть существующее веб-приложение, которое работает в автономном режиме (используя манифест кэша HTML5).

Я храню данные в localStorage. Я собираюсь поразить предел 5Mb для localStorage. Могу ли я использовать CouchDB в качестве локального db, эффективно заменяя localStorage на реализацию CouchDB?

Я не хочу устанавливать CouchDB на любых серверах, я просто хочу использовать возможности хранилища на стороне клиента для замены моей реализации localStorage.

Это так же просто, как загрузить соответствующие файлы couchdb.js и изменить код настойчивости на стороне клиента?

Спасибо

Ответы

Ответ 1

Как обычно "зависит"

Если ваше приложение подано с веб-сайта, тогда нет, существуют такие проекты, как https://github.com/mikeal/pouchdb, целью которых является предоставление версии на стороне клиента от CouchDB, однако они не помогут вам избежать ограничений браузера

Если вы отправляете свое приложение как отдельное приложение, то да, должно быть довольно простым вопросом следовать инструкциям по установке, чтобы добавить CouchDB в ваше приложение:

а ваш код клиента делает запросы на кушетку вместо localStorage, помня, что:

  • localStorage хранит только строки, а CouchDB хранит JSON и
  • вызовы Couch являются асинхронными, а localStorage - синхронными, но ни один из них не должен быть особенно значительным в javascript.

Другим основным вариантом, который будет рассмотрен, будет PhoneGap, который предоставит вам доступ к собственному API-интерфейсу хранения данных с устройства, все еще находясь в html/javascript, его кросс-платформенной библиотеке, которая позволяет вам получить доступ к собственному API, включая API хранения данных которые не имеют ограничений браузера - http://docs.phonegap.com/phonegap_storage_storage.md.html#Storage

PhoneGap также потребует от вас отправки как приложения, а не веб-сайта (его единственный способ не ограничиваться браузером).

Ответ 2

Это должно быть обновлено. PouchDB теперь использует IndexedDB, который в большинстве браузеров, которые я пробовал, не имеет ограничений по размеру (или является опцией). Я сохраняю в браузере несколько 100 МБ фрагментов карты.

Смотрите: https://gis.stackexchange.com/questions/62070/offline-slippy-map-tiles-database-for-leaflet/62073#62073

Ответ 3

Короткий ответ заключается в том, что установка Couchbase Mobile на ваш телефон требует от вас отправки в качестве приложения, а API-интерфейсы Couch более полно, чем API-интерфейсы localStorage.

Если вы хотите получить представление о том, что вы можете сделать в рамках CouchDB web apis (не мобильных, но удобных для мобильных устройств), см. this документа архитектуры.