Синхронизация или кеширование данных из веб-приложения с помощью приложения для iPhone - PullRequest
1 голос
/ 08 января 2011

У меня уже есть веб-приложение, и я работаю над приложением для iPhone. У меня есть фундаментальный вопрос о кэшировании / синхронизации данных между ними.

Так что, вероятно, 80% приложений для iPhone более или менее считывают (ПОЛУЧАЮТ) данные из веб-приложения (это сильно влияет на статистику, поэтому дает вам доступ к вашей статистике и тому подобному). Должен ли я загружать эти данные каждый раз при загрузке экрана? Если это так, синхронизация / кэширование не потребуются, поскольку они будут «свежими» каждый раз. Однако, похоже, что в большинстве случаев я бы отправлял ненужные запросы обратно на веб-сервер без причины, так как часто данные не менялись.

Я думал о том, чтобы как-то локально кэшировать эти данные на телефоне, но я не знаю, каковы «лучшие практики» для этого. Или, если мне нужно просто синхронизировать sqlite DB на iPhone с данными из веб-приложения, и предоставить кнопки «обновить» в строке заголовка контроллера навигации, чтобы вручную запросить обновление.

Я не обязательно ищу код, просто более-менее собираю план.

Предложения? Спасибо!

1 Ответ

0 голосов
/ 08 января 2011

Это действительно зависит от того, как часто будут обновляться данные на вашем веб-сервере. Если он обновляется нечасто, я бы предложил кэшировать данные на iPhone. Но если на вашем веб-сервере наблюдается бурная деятельность, и доступ к самой последней информации считается критически важным для успеха вашего проекта, вам нужно будет отправлять запросы GET.

Я не знаю, может ли iPhone использовать Comet, но это может быть опция для «отправки» обновлений на ваш телефон, если он поддерживается.

Вы также можете периодически проверять наличие обновлений на сервере. Сервер может вернуть код состояния 304 Не изменен, если данные не изменились. Это менее интенсивно, чем извлечение фактических данных в каждом запросе GET. В этом случае вы получите только свежие данные, если 304 не было возвращено.

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