HTML5 SQLite против собственной базы данных в случае PhoneGap - PullRequest
6 голосов
/ 05 августа 2011

Я создаю приложение PhoneGap для Android и iOS.

Я хочу знать, какой из них лучше подходит для управления базой данных: SQLite или родная база данных устройства HTML5.

В случае нативного использования мне нужно создать плагин для взаимодействия.

Пожалуйста, предложите мне лучший вариант в зависимости от производительности и скорости.

Ответы [ 3 ]

9 голосов
/ 09 августа 2011

Я протестировал с POC, что Native DB в Android / iOS работает намного быстрее, чем WebSQL (из HTML5), в случае приложения PhoneGap мы должны использовать плагин для Native database. в моем тесте; я выполнил запрос вставки 999 в приложении PhoneGap с плагином для родной среды, и результаты:

в запросах Android на 558% быстрее в эмуляторе, на 275% быстрее в htc droid hd и удивительно на 2327% быстрее в htc wildfire.

в iOS результаты просто веселые: на 2K + процент быстрее в Simulator / iPhone 4 и на 5600% быстрее в iPhone 3GS.

2 голосов
/ 05 августа 2011

Стандарт базы данных Web SQL больше не разрабатывается. Вероятно, он будет заменен IndexedDB. Я бы не стал полагаться на его существование на вашем месте.

С Спецификация :

Осторожно. Эта спецификация больше не находится в активном обслуживании, и Рабочая группа по веб-приложениям не намерена продолжать ее.

0 голосов
/ 05 августа 2011

Я не знаю насчет собственной базы данных, но HTML5 WebSQL очень медленный на iPhone, когда используются таблицы с сотнями строк, в основном 3G, 4G немного лучше. На Android нет проблем с выполнением довольно хороших запросов - мы думали, что это будет то же самое на iPhone, но нам пришлось отказаться от использования WebSQL в нашем проекте и переписать все в JSON и многие другие функции, которые имели функциональность нескольких простых запросов WebSQL.

Жаль, что поддержка WebSQL официально прекращена, но в настоящее время она поддерживается как на Android, так и на iPhone, и в некоторых случаях она очень удобна. Так что я надеюсь и думаю, что WebSQL будет поддерживаться «неофициально», но все же в Android и iPhone в будущем.

Что касается вашего вопроса - мой опыт подсказывает мне, что это зависит от структуры ваших таблиц, от того, насколько сложны у вас запросы, и главным образом - от количества строк в таблицах. Если у вас есть десятки строк, то можно использовать WebSQL, но если вы нажмете 100 или более строк в таблице, на iPhone это будет замедляться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...