Библиотека javascript для хранения на стороне клиента с синхронизацией на стороне сервера
Я ищу библиотеку javascript, которая позволит мне хранить данные в базе данных на стороне клиента, а на заднем плане автоматически синхронизирует базу данных с базой данных сервера.
предпочтительное что-то, поддерживающее различные двигатели, таким же образом jStore для jQuery делает
Оглядываясь, я могу найти что-нибудь
Ответы
Ответ 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 делает это, хотя это не реляционная модель