Я пишу приложение HTML5, которое хочу выпустить в магазине приложений iOS. Либо с помощью PhoneGap, либо в оболочке элемента управления UIWebView.
Я немного не понимаю, какие у меня есть варианты хранения данных для моего приложения.
Подходит ли использование технологий localStorage, WebSQL или IndexedDB для хранения данных приложения в этом типе приложений? Я буду хранить данные JSON и XML.
Имейте в виду, что если пользователь случайно удалит эти данные, он потеряет свою работу, чего, очевидно, я не хочу.
Я понимаю, что единственный реальный способ уменьшить этот риск - это синхронизировать данные с «облаком» или другой онлайн-системой - я могу сделать это в будущем выпуске, но не сейчас. Изначально я просто хочу хранить данные локально, если это разумный стабильный способ делать что-то.
Насколько я понимаю, при очистке файлов cookie браузер также удаляет все данные localStorage. Это исключает это, поскольку я вижу, что пользователи делают это случайно.
WebSQL выглядит неплохо - пользователь не может случайно удалить его на iOS. На самом деле им придется зайти в настройки браузера и удалить базу данных вручную.
Но обратная сторона WebSQL состоит в том, что он может не поддерживаться в будущем, судя по тому, что я читал.
С IndexedDB мне не ясно, когда эти данные будут очищены. Будет ли он также удален при удалении файлов cookie, или это контролируется параметром «базы данных» в настройках Safari?
Является ли IndexedDB лучшим решением, поскольку в будущем он будет иметь лучшую поддержку, чем WebSQL?
Есть ли другие варианты. более подходящие решения, о которых я не знаю?