2013-11-21 2 views
12

Я работаю с телефоном в течение короткого времени, и у меня возникают проблемы с концепцией хранения в нем.Телефонная книга: WebSql или SqLite?

Так, в документации говорится, что эта база данных, которые можно открыть, и это реализация SQLite. "Window.openDatabase возвращает новый объект базы данных.

Этот метод создает новую базу данных SQL Lite и вернуть объект базы данных. Используйте объект базы данных для управления данными ». http://docs.phonegap.com/en/2.2.0/cordova_storage_storage.md.html#Database Я использую его в моем WebAPP прямо сейчас:

var myBuggedDb = window.openDatabase(shortName, version, displayName,maxSize); 

Он работает как шарм. Я могу использовать его для создания запросов, от выбора до удаления. Все хорошо, правда? Но когда я проверяю и отлаживаю свой код, я вижу, что созданная база данных WebSql. Я также консультировался с большим количеством блогов, вики и других мест, чтобы получить больше информации о теме. Много людей делают беспорядок из обоих техников. На странице плагина Phonegap нет даже плагина sqlite.

И теперь мы собираемся изменить наше приложение, поэтому он берет с localStorage объект JSON и преобразует его. Я хочу вставить его в нашу базу данных. Но теперь я в замешательстве, я не знаю, является ли это webSql или SQLite. Может ли кто-нибудь уточнить? Будет ли он работать как SQLite или как WebSql, в конце концов, на устройстве?

EDIT: Если вы ищете этот вопрос в будущем, тщательно протестируйте: технологии сильно изменились, поддержка индексированных DB растет, есть много других вариантов, таких как Lawchair и т. Д. Проведите небольшое исследование, прежде чем использовать что-либо!

ответ

6

В HTML 5 реализована эта реализация баз данных, а реализация выполняется путем встраивания базы данных Sql Lite в браузер.

У таких браузеров, как хром и сафари, реализованы базы данных Html5, реализованные с использованием sqlLite, называемого websql, но когда я был на связи, Mozilla не внедряла Websql, а они внедряли индексированный DB.

Лучший вариант Я думаю, это использовать Backbone.js или Lawnchair, хотя внутренне оба из них используют websql, но API-интерфейс обертывает все для вас.

Надеюсь, это поможет.

+0

Да, это помогло вам прояснить. IndexedDB прямо сейчас для нас не является вариантом из-за мобильной совместимости. Но я проверяю Lawnchair. Спасибо, Варун! – Malavos

7

Я бы предложил пойти с WebSQL.подробная причина как указано ниже:

Давайте идти вперед и рассмотрим 3 основных платформ, которые вы будете ехать с помощью PhoneGap:

  • IOS: WebSQL - SUPPORTEDSQLite - ЧАСТИЧНО ПОДДЕРЖКА
  • Android: WebSQL - ПОДДЕРЖКАSQLite - ПОЛНОСТЬЮ ПОДДЕРЖКА
  • Окна: WebSQL - НЕ ПОДДЕРЖКАSQLite - НЕ ПОДДЕРЖКА

Так в идеале это выглядит следующим образом - У вас есть Windows, над которым вы заключаете вверх плагин WebSQL [ненадежный], над которым вы завершаете плагин SQLite [крайне ненадежный] ,

Следовательно - теперь ваш звонок. Даже если вы делаете приложения для телефонных разговоров, они должны быть быстрыми, и создание слоев одного стека над другим определенно сделает его медленным.

+2

WebSQL устарел. http://programmers.stackexchange.com/questions/220254/why-is-web-sql-database-deprecated –

1

var myBuggedDb = window.openDatabase (shortName, version, displayName, maxSize); открывает базу данных websql. Если вы хотите использовать Sqlite, вы должны использовать сторонние плагины, такие как https://github.com/litehelpers/Cordova-sqlite-storage

Смежные вопросы