Телефонная связь: 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