Могу ли я использовать CouchDB mobile в качестве замены для localStorage? - PullRequest
14 голосов
/ 01 сентября 2011

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

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

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

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

Спасибо

Ответы [ 3 ]

9 голосов
/ 02 сентября 2011

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

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

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

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

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

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

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

6 голосов
/ 28 июня 2013

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

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

3 голосов
/ 02 сентября 2011

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

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

...