Безопасное хранение данных в приложении HTML5 iOS - подходит ли localStorage / WebSQL / IndexedDB?

Я пишу приложение HTML5, которое хочу выпустить в магазине приложений iOS. Либо с помощью PhoneGap, либо в оболочке элемента управления UIWebView.

Я немного не понимаю, какие у меня есть варианты хранения данных для моего приложения.

Подходит ли использование технологий localStorage, WebSQL или IndexedDB для хранения данных приложения в этом типе приложений? Я буду хранить данные JSON и XML.

Имейте в виду, что если пользователь случайно удалит эти данные, он потеряет свою работу, чего, очевидно, я не хочу.

Я понимаю, что единственный реальный способ уменьшить этот риск - это синхронизировать данные с «облаком» или другой онлайн-системой - я могу сделать это в будущем выпуске, но не сейчас. Изначально я просто хочу хранить данные локально, если это разумный стабильный способ делать что-то.

Насколько я понимаю, при очистке файлов cookie браузер также удаляет все данные localStorage. Это исключает это, поскольку я вижу, что пользователи делают это случайно.

WebSQL выглядит неплохо - пользователь не может случайно удалить его на iOS. На самом деле им придется зайти в настройки браузера и удалить базу данных вручную.

Но обратная сторона WebSQL состоит в том, что он может не поддерживаться в будущем, судя по тому, что я читал.

С IndexedDB мне не ясно, когда эти данные будут очищены. Будет ли он также удален при удалении файлов cookie, или это контролируется параметром «базы данных» в настройках Safari?

Является ли IndexedDB лучшим решением, поскольку в будущем он будет иметь лучшую поддержку, чем WebSQL?

Есть ли другие варианты. более подходящие решения, о которых я не знаю?

14
задан asgeo1 6 October 2011 в 05:45
поделиться