2012-01-17 3 views
3

Я разрабатываю приложение PhoneGap для Android (также будет работать на iOS).Библиотеки для онлайн/автономной мобильной синхронизации

Приложение будет онлайн/офлайн. В настоящее время я использую javascript/jquery, чтобы сделать ajax-вызовы службе WCF JSON на стороне сервера.

Это мой механизм синхронизации. Это очень срочно, мне нужно синхронизировать из таблицы базы данных x, поэтому я напишу код на стороне сервера, чтобы загрузить эти данные и разоблачить их в службе. Я напишу код на стороне клиента, чтобы вызвать этот метод в службе и синхронизировать его с моей базой данных на стороне клиента.

Убедившись, что данные не столкнулись, в значительной степени рулон, если требуется.

Просто интересно, существуют ли библиотеки для синхронизации данных, подобных этому? Подумайте о чем-то вроде SQL-репликации (но не о репликации SQL).

Я мог бы написать несколько приложений, подобных этому, поэтому общее решение было бы идеальным.

UPDATE:

Этот вопрос был поднят снова. Почему у нас есть стандарт HTML5, который указывает, что у нас могут быть автономные базы данных, а также кешировать html-страницы и javascript на устройстве, но у нас нет стандартного способа синхронизации данных?

Это указывает на то, что мы ожидаем, что сможем отказаться от наших приложений.

Несомненно, это может быть легко сделать в простом приложении, которое мы должны разрабатывать с самого начала.

Но следующее приложение, которое мы будем писать, будет намного сложнее.

ответ

1

afaik, нет.

кто-то задать аналогичный вопрос для уже Джанго: Data Synchronization framework/algorithm for server<->device?

Это в основном зависит от типа данных, которые вы хотите синхронизировать, и стратегии разрешения конфликтов.

Если вам не нужно разрешать конфликт, простой идентификатор транзакции и повтор отсутствующих транзакций на сервере и клиенте при восстановлении соединения.

В прошлом я делал что-то очень ad-hoc, проблема заключалась в том, чтобы не усложнять решение для каждого проекта.

1

Я хотел бы пригласить вас взглянуть на проект с открытым исходным кодом, сервис синхронизации OpenMobster в. Вы можете выполнять все типы операций синхронизации (двусторонний, односторонний клиент, одностороннее устройство, загрузка и т. Д.). Кроме того, все изменения автоматически отслеживаются и синхронизируются с облаком. Вы можете отключить свое приложение, когда сетевое соединение отключено. Он будет отслеживать любые изменения и автоматически в фоновом режиме синхронизировать его с облаком при возврате соединения.

В настоящее время поддерживается только родная разработка на Android и iOS. Однако следующий релиз 2.2-M8 будет поддерживать сквозную интеграцию с PhoneGap на Android, а 2.2-M9 добавит iOS.

Предлагается ссылка на проект с открытым исходным кодом: http://openmobster.googlecode.com

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