Phonegap - sqlite или индексированная БД?
Я - веб-разработчик, начинающий с телефонного разговора. Мне нужно создать одно приложение для iPhone, Android и Windows Phone 8.
Мне нужно хранить некоторые данные (слишком большие для localStorage) локально.
Я не знаю, что решение ведьмы самое лучшее:
Кто-нибудь создал такое приложение раньше? Я был бы благодарен за любые решения или идеи.
Ответы
Ответ 1
Cordova WP8 поддерживает только IndexedDB. iOS и Android WebSql. Поскольку WebSql устарел (я знаю, как много людей любят/используют его и согласны с тем, что во многих ситуациях WebSql очень классный), я бы рекомендовал продолжить работу с IndexedDb и использовать следующий polyfill для Android/iOS.
PhoneGap polyfill для IndexedDB, что делает интерфейс IndexedDB API совместимым с WebSQL
Example
Ответ 2
Последнее обновление (май 05, 2014):
Новый кроссплатформенный плагин Cordova WebSQL от MS Open Tech
Microsoft Open Technologies is publishing the new open source
Плагин WebSQL for Apache Cordova and PhoneGap. This plugin allows developers to integrate a persistent SQL-based local storage solution in their Cordova apps using the exact same JavaScript code across Android, iOS, Windows Phone and Windows Store.
Ответ 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
Ответ 4
Как насчет использования моей библиотеки с открытым исходным кодом, ydn-db? Он имеет очень хороший слой абстракции поверх них.
Изменить:
Ответ 5
LocalForage кажется лучшим и новейшим решением:
https://github.com/localForage/localForage (1000 коммит, 83 участника)
У него есть резервные копии для ни одного поддерживаемого навигатора.
Я еще не пробовал (по телефону), но как только я сделаю, я дам вам отзывы;)