Какое решение для автономного хранения HTML5 следует использовать для хранения заметок пользователя в моем веб-приложении? - PullRequest
4 голосов
/ 16 июня 2011

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

Я узнал, что существует несколько хранилищрешения из html5: localStorage, Web SQL DB, Application Cache.Я хотел бы узнать ваши советы о том, как выбрать из них, учитывая их размер, скорость и удобство использования.

Ответы [ 3 ]

6 голосов
/ 16 июня 2011

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

WebDB ваша обычная база данных.Если вам нужно выполнить сложные запросы к вашим данным в нескольких таблицах, вы можете использовать их.Для хранения заметок это было бы излишним.

Application cache - это нечто совершенно иное, я не понимаю, как вы можете применить это здесь.Он предназначен для кэширования html-страниц и ресурсов.

5 голосов
/ 16 июня 2011

Локальное хранилище

Это в основном база данных ключ / значение, вы можете использовать ее вместо файлов cookie для хранения настроек или других вариантов использования, для которых вы можете использовать такие компоненты, как memcache на сервере. Я бы лично использовал это для данных, которые необходимо кэшировать.

Кэш приложения

Полагаю, вы имеете в виду кэширование с помощью файла манифеста. Это должно дополнить ваше другое использование кэширования. Это позволяет вам кэшировать фактические ресурсы на устройстве пользователя, такие как изображения, файлы JavaScript и HTML-файлы, чтобы они могли работать в вашем приложении, когда они отключены от Интернета

Web SQL DB

Это база данных, в которой вы хотите хранить пользовательские данные, вы можете использовать ее для данных, которые вы бы хранили в базе данных sql на сервере.

1 голос
/ 18 апреля 2017

В соответствии с этим: https://developer.chrome.com/apps/offline_apps#saving-locally

Упакованные приложения не могут использовать базу данных Web SQL или localStorage. WebSQL спецификация уже давно устарела, а localStorage обрабатывает данные синхронно (что означает, что они могут быть медленными). Хранение API обрабатывает данные асинхронно.

IndexedDB - рекомендуемый механизм хранения.

...