Какие варианты реляционного постоянного хранения на стороне клиента являются хорошим выбором для нового проекта? - PullRequest
2 голосов
/ 09 марта 2011

Учитывая, что WebSQL больше не разрабатывается, а IndexedDB еще не стал распространенным, каковы наши решения в качестве разработчиков для реляционного хранилища на стороне клиента?Лучше всего просто не использовать какие-либо из этих функций сейчас?В моем сценарии я изначально создаю плагин для браузера с поддержкой WebKit (Chrome и Safari), поэтому приемлемо использовать технологию, которая (пока) отсутствует в Firefox и IE.Я понимаю, что мог бы использовать WebSQL в Chrome и Safari, но невозможно узнать, как долго будет поддерживаться его поддержка в тех браузерах, когда спецификация W3C не поддерживается.

Ответы [ 3 ]

1 голос
/ 10 марта 2011

Если это будет расширение Firefox, тогда вы можете использовать интерфейс, который очень похож на WebSQL .Компонент SQLite будет оставаться в Firefox в течение длительного времени, поскольку он используется для многих других вещей, включая (я полагаю) реализацию IndexedDB, вам просто не разрешен доступ к нему с веб-страниц.

ВыПравильно, что нет способа узнать, как долго поддержка WebSQL будет оставаться в WebKit, но Apple ранее заявляла, что продолжит поддерживать ряд -webkit- свойств с префиксом CSS даже после того, как они реализуют стандартные версии (особенно если возможнаяСтандарт отличается от их префиксной версии), потому что они видели такое широкое использование.Я думаю, что с WebSQL будут обращаться аналогичным образом, и вы, по крайней мере, получите приличное количество предупреждений, если поддержка когда-либо будет прекращена.

Opera, в которой я не уверен.

IEникогда не будет включать SQLite, поэтому у него никогда не будет WebSQL.В любом случае, если вы создаете плагин, вы всегда можете просто собрать SQLite как его часть, аналогично тому, что сделал Gears .

0 голосов
/ 10 марта 2011

Вы можете использовать переменную localStorage для хранения строки json, в которой хранятся все ваши данные, или разделить ее между многими переменными, которые все еще находятся в localStorage. Подробнее об этом .

0 голосов
/ 10 марта 2011

Я сначала подумал, что вы наверняка ошибаетесь - websql сдан? Но да, я вижу, что оно прошло .

Я думаю, что очевидным ответом будет поиск API, который абстрагирует базовый механизм хранения. Было бы замечательно, если бы было что-то, что позволило бы мне написать SQL с возможностью восстановления при сбое в базу данных на стороне сервера - но с проблемами для websql, похоже, камнем преткновения является поддержка SQL.

persistence.js идет некоторым путем. WSPL , похоже, не добивается больших успехов.

Создание слоя SQL для indexedDB выглядит как огромная задача, которая вряд ли скоро произойдет.

Похоже, многие другие люди пытаются решить подобные проблемы. например 1

...