Подтвердить что ты не робот

Библиотека javascript для хранения на стороне клиента с синхронизацией на стороне сервера

Я ищу библиотеку javascript, которая позволит мне хранить данные в базе данных на стороне клиента, а на заднем плане автоматически синхронизирует базу данных с базой данных сервера.

предпочтительное что-то, поддерживающее различные двигатели, таким же образом jStore для jQuery делает

Оглядываясь, я могу найти что-нибудь

4b9b3361

Ответ 1

Store.js очень хорошо справляется с клиентской памятью. Обратите внимание, что он поддерживает IE6 + вместе с другими браузерами. Для хранения на стороне сервера вы также можете сделать свой собственный script для этого, поскольку это не должно быть сложно.

Ответ 2

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

Отличный обзор возможностей локального хранилища в Погружение в HTML5.

Существует также несколько межплатформенных библиотек хранения JavaScript, в том числе Lawnchair и persistence.js.

Ответ 3

Я не уверен на 100%, но я думаю, что нет такой структуры. Я бы рекомендовал посмотреть Google Gears.

Google Gears поддерживает автономное хранилище на стороне клиента.

Другим подходом было бы проверить исходный код TidlyWiki. Они создали вики-систему, в которой хранятся все данные на стороне клиента.

Ответ 4

Я не знаю ни одной библиотеки, которая делает это в наши дни. Даже грубо это возможная идея, я должен сказать, что я не уверен, что создание такой библиотеки - это хорошее усилие.

Он должен был предоставить примеры того, как выставлять данные вашего сервера в библиотеку, как вычислять дельта и т.д. Это заставит разработчика изменить этот код на стороне сервера в соответствии с протоколом библиотеки. Это может быть здорово для новых приложений и веб-сайтов, но это может быть болью для любого существующего сайта с конкретной структурой данных, что делает попытку реализовать это не настолько предпочтительным для разработки вашего собственного Javascript, чтобы сделать это с использованием текущих данных, уже представленных приложение. Все эти проблемы, связанные с потенциальными проблемами безопасности, в какой-то общей библиотеке javascript были бы трудно управлять.

IMHO - это отличная идея сделать пакеты или плагины для определенных фреймворков MVC на основе ORM, например Ruby on Rails или Django. Поскольку сама структура имеет абстракцию структуры данных и многие исправления безопасности, которые уже связаны друг с другом, создание пакета для этого было бы гораздо более пригодным для повторного использования и более элегантным.

Ответ 5

Просто наткнулся на этот вопрос; для потомков CouchDB и CouchBase предназначены для этого:

http://couchdb.apache.org/

Клиент JavaScript:

https://pouchdb.com/

И CouchBase:

https://www.couchbase.com/

Наконец, CouchBase Lite/Mobile:

https://www.couchbase.com/products/lite

Последний получает вам встроенную синхронизацию CouchDB/CouchBase.

Во всех случаях вы просто получаете доступ к локальной базе данных и можете синхронизировать, когда и когда вы подключаетесь к Интернету.

Ответ 6

Я занимаюсь этим. Кажется, это почти возможно с помощью Документов Google. Большинство API-интерфейсов доступны через Javascript. К сожалению, исключения включают такие вещи, как загрузка и загрузка, поэтому, когда можно перечислять документы, создавать файлы, изменять метаданные и т.д. Изнутри браузера, на самом деле получение данных намного сложнее.

В электронных таблицах Google есть API-интерфейсы Javascript для доступа к отдельным ячейкам, поэтому теоретически возможно хранить ваши данные в электронной таблице. К сожалению, в API есть еще одно целое, где, похоже, довольно сложно записывать данные в ячейку, у которой ранее не было данных, а это значит, что после создания пустой таблицы вы не сможете ее заполнить...

Ответ 7

Насколько я знаю Safari, Chrome и Opera на основе SQLite. SQLite имеет команду .dump, которая не только хороша для восстановления базы данных, но и для синхронизации с другой базой данных. Поэтому можно вызвать это из базы данных Javascript с помощью .dump и, при необходимости, изменить дамп и загрузить его в базу данных сервера для выполнения.

Однако вам нужно быть осторожным с попытками SQL-инъекций.

Ответ 8

Вы пробовали jsonengine?

Не уверен, насколько этот проект жив, но это отвечает на все ваши требования.

Ответ 9

Firebase делает это, хотя это не реляционная модель