Phonegap - sqlite или индексированная БД?

Я - веб-разработчик, начинающий с телефонного разговора. Мне нужно создать одно приложение для iPhone, Android и Windows Phone 8.
Мне нужно хранить некоторые данные (слишком большие для localStorage) локально.

Я не знаю, что решение ведьмы самое лучшее:

  • Phonegap обеспечивает хранение (на основе WebSQL - устаревший), но он не поддерживается телефоном Windows. Есть ли какой-либо плагин, чтобы заполнить этот пробел?
  • Я читал о индексированной БД, но я не использовал ее раньше, и это не очень интуитивно для меня. Я не уверен, что он полностью поддерживается на всех платформах? Я основывался на (http://blog.nparashuram.com/2012/10/indexeddb-example-on-cordova-phonegap_12.html)
  • Или, может быть, я могу использовать плагины phonegap https://github.com/marcucio/Cordova-WP-SqlitePlugin для телефона Windows и https://github.com/marcucio/Cordova-SQLitePlugin для Android и iphone.. Тогда мой код будет таким же на всех платформах, как я полагаю.

Кто-нибудь создал такое приложение раньше? Я был бы благодарен за любые решения или идеи.

Ответ 1

Cordova WP8 поддерживает только IndexedDB. iOS и Android WebSql. Поскольку WebSql устарел (я знаю, как много людей любят/используют его и согласны с тем, что во многих ситуациях WebSql очень классный), я бы рекомендовал продолжить работу с IndexedDb и использовать следующий polyfill для Android/iOS.

PhoneGap polyfill для IndexedDB, что делает интерфейс IndexedDB API совместимым с WebSQL

Example

Ответ 3

IndexedDB -

  • Это несовместимо со многими типами популярных мобильных ОС и версий
  • Он совместим только с очень конкретными версиями мобильной ОС
  • Разработчики не могут использовать SQL с IndexedDB. Операторы SQL могут использоваться в SQLite и WebSQL
  • Большинство разработчиков активно избегают использования IndexedDB столько, сколько они могут

WebSQL -

  • Он устарел от W3C, что означает, что он больше не поддерживается или не развивается
  • Для этого требуется еще один плагин, позволяющий мобильным приложениям работать с популярными мобильными ОС, такими как Google Android и Apple iOS

SQLite -

  • Он получил награду от Google
  • SQLite имеет официальный сайт. IndexedDB и WebSQL не
  • В Google SQLite возвращает 1,8 миллиона результатов. WebSQL возвращает бит менее 700K результатов, а IndexedDB возвращает результаты 282K.
  • Разработчик может использовать общие SQL-запросы с SQLite
  • Он совместим с большинством версий всех мобильных телефонов popoular, таких как iOS и Android.

Если вам нужен быстрый учебник по SQLite

Хранение базы данных SQLite с помощью Android и Phonegap

Ответ 5

LocalForage кажется лучшим и новейшим решением: https://github.com/localForage/localForage (1000 коммит, 83 участника)

У него есть резервные копии для ни одного поддерживаемого навигатора. Я еще не пробовал (по телефону), но как только я сделаю, я дам вам отзывы;)