2011-12-14 4 views
4

Мне нужно написать приложение, работающее на Android, iOS и настольных компьютерах (я, вероятно, буду использовать Titanium). Это приложение должно поддерживать базу данных, которая постоянно синхронизируется между всеми устройствами и рабочим столом (и, возможно, сетью в будущем).Синхронизация мобильной базы данных

Есть ли какой-либо инструмент/услуга, позволяющая очень легко синхронизировать базу данных?

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

ответ

3

CouchDB - это путь. Сейчас я работаю над подобным проектом. iOS, Android, веб-клиент - все они нуждаются в синхронизации. CouchDB имеет фантастическую поддержку репликации, которая выполняется по HTTP. Это красиво. Couchbase Mobile по-прежнему очень в состоянии «предварительного просмотра», но прогрессирует хорошо.

Вам придется обрабатывать потенциальные конфликты обновления (CouchDB возвращает код состояния HTTP 409, поэтому вы можете обращаться с ним соответствующим образом - исходя из ваших бизнес-требований).

Мои единственные жалобы до сих пор - это время загрузки службы CouchDB и размер зависимостей. Если вы сможете обойти эти проблемы, это может быть хорошим решением для вас.

заказ больше здесь: http://www.couchbase.com/products-and-services/couchbase-mobile

Успехов!

+0

Спасибо! Я посмотрел на него, и это довольно сложно использовать даже для очень простой задачи. Моя проблема заключается в том, что она не поддерживает HTML5 (автономная база данных), которая в будущем может быть полезна при написании офлайн-приложений HTML5. Знаете ли вы, что есть что-то более простое в использовании? – user1098381

+0

Это немного сложнее, но значительно проще, чем традиционное решение SQL. Это самый простой способ узнать, как это сделать. Если вы используете HTML5, CouchDB начинает действительно сиять. Это API-интерфейсы HTTP, хранение и передача данных - это все JSON. Это означает, что значительно проще использовать данные для вашего веб-клиента. Локальное хранилище HTML5 является ключевым значением, поэтому вы можете легко использовать свой ключ CouchDB (_id) для ссылки на его сохраненное значение. – chadmaughan

1

Вы можете использовать Mobeelizer. Это решение, которое предлагает вам полную инфраструктуру синхронизации для мобильных приложений и позволяет легко синхронизировать данные между мобильным и сетевым или настольным приложениями. Существует также Titanium SDK для вас. Здесь вы найдете дополнительную информацию http://docs.mobeelizer.com/display/doc/Titanium+References

Смежные вопросы