Я провел довольно много исследований в настоящее время по HTML5, но мне все еще интересно, как мне лучше всего реализовать локальное хранилище данных , которое действительно кроссплатформенное ( т. е. работает на всех важных мобильных платформах +, возможно, на настольных компьютерах, и может легко запрашиваться ?
Я хочу веб-приложение HTML5 (для охвата всех мобильных / (настольных) платформ и для его независимости от сторонних фреймворков / библиотек), но использующее локальное / автономное хранилище для имитации производительности собственных приложений (и не обязательно требует подключения). Он создает / изменяет / управляет определенными записями для пользователя (до пары сотен записей в год). Помимо хранения данных, поскольку приложению не нужен какой-либо другой доступ к устройству, я думаю, что HTML5 был бы хорошим вариантом.
Некоторые требования к данным, которые я хочу сохранить:
- лучшим форматом будет какая-нибудь облегченная база данных , например SQLite (из-за соображений производительности и возможности обновлять отдельные записи без необходимости записи всего файла (как в случае XML))
- недостаток : я не вижу технологий, доступных на всех платформах; WebSQL устарела, а IndexedDB недоступен во многих браузерах
- записи данных должны быть легко экспортируемыми / загружаемыми в формате XML (чтобы пользователь мог читать / изменять его самостоятельно)
- поэтому XML был бы хорошим путем; Я предполагаю, что размер данных будет достаточно низким для этого варианта; Хотя 2 проблемы:
- недостаток 1 : мне нужен язык запросов , который позволяет мне легко выбирать / сортировать / изменять определенные записи (например, XQuery, но доступен во всех браузерах и работает локально на клиент)
- недостаток 2 : насколько я видел, поддержка HTML5 FileWriterAPI еще далеко не исчерпана - поэтому, как я смогу изменять / сохранять данные XML локально на клиенте? (хорошо, я видел примеры, когда весь XML-файл сохраняется в виде одной пары ключ / значение в локальном хранилище; но недостаток 1 все равно будет применяться ...)
Какие варианты у меня есть? Достаточно ли совершенен HTML5 , чтобы делать то, к чему я стремлюсь?
Если нет, какие альтернативы будут соответствовать моим требованиям? Пара бесполезных мыслей: некоторые сторонние библиотеки (JQuery (?), JSON (?) Или кроссплатформенные фреймворки (а-ля Phonegap - которых я хотел избежать в первую очередь из-за их ограничений), или использование какое-нибудь серверное хранилище (которое синхронизируется с локальным хранилищем)?