Django Iphone Sync - PullRequest
       1

Django Iphone Sync

1 голос
/ 03 февраля 2010

Я пишу приложение django и приложение для Iphone, мне нужно синхронизировать их. Пользователи могут удалять, обновлять и создавать новые объекты в веб-приложении и в приложении iphone. Когда они выходят в интернет с iphone, оба приложения должны быть синхронизированы. Есть ли простой способ сделать это?

Спасибо

Хоакин

Ответы [ 2 ]

2 голосов
/ 03 февраля 2010

В общем: простого пути нет. Но я обрисую подход.

Если вас не волнуют изменения, которые будут перезаписаны: сохраняйте отметку времени самого последнего изменения для каждой записи и отметку времени каждой синхронизации. При синхронизации вы получаете список всех обновлений на iPhone с момента последней синхронизации и всех обновлений на сервере. Вы пишете с iPhone на сервер, если отметка времени iPhone для этой записи новее, чем на сервере, и наоборот.

Но тебе, наверное, все равно. Скажем, вы отредактировали заметку под названием «Где встретиться в пятницу». Это началось пустым. Теперь по телефону вы написали: «Мой дом». Десять минут спустя ваш друг редактирует ту же заметку на сервере и пишет: «Закусочная». Кто победит? Переполнение стека не может ответить за вас; это зависит от приложения.

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

Если вас очень волнуют изменения, которые не будут перезаписаны, до такой степени, что вы хотите объединить изменения в разных местах в одних и тех же документах, то ваша система начнет приближаться к сложности систем контроля версий, таких как Subversion или Git. Совсем не просто.

0 голосов
/ 03 февраля 2010

Нет встроенного способа сделать это. Вам нужно сохранить хранилище данных на сервере и локальное хранилище данных на iPhone, а когда он-лайн, проверить различия вручную и посмотреть, какие действия вы должны предпринять на сервере и на стороне iPhone (удалить, обновить и т. Д.).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...