Телефонная связь: 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 и т.д. Проведите небольшое исследование перед тем, как использовать что-либо!

Ответ 1

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

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

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

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

Ответ 2

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

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

  • IOS: WebSQL - ПОДДЕРЖИВАЕТ SQLite - ЧАСТИЧНО ПОДДЕРЖИВАЕТСЯ
  • Android: WebSQL - ПОДДЕРЖИВАЕТ SQLite - ПОЛНОСТЬЮ ПОДДЕРЖИВАЕТ
  • Windows: WebSQL - НЕ ПОДДЕРЖИВАЕТ SQLite - НЕ ПОДДЕРЖИВАЕТСЯ

В идеале это происходит так: у вас есть Windows, над которой вы завершаете плагин WebSQL [ ненадежный], над которым вы завершаете плагин SQLite [ очень ненадежный].

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

Ответ 3

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