вопрос архитектуры для приложений iphone, отправляющих данные json в службу wcf - PullRequest
0 голосов
/ 15 февраля 2011

Я создаю приложение для iPhone для записи времени по проектам.Мой пользовательский интерфейс имеет UITextField для каждого дня недели, чтобы пользователь мог вводить часы, отработанные днем.Я работаю над элементом ввода данных и должен решить, должен ли я отправлять время, введенное для данного поля UIText, поскольку пользователь закончил вводить время, или мне следует выполнить пакетную отправку после того, как пользователь завершил ввод времени на всю неделю.Первый подход приведет к «болтливому» приложению, в котором вызов моей службы WCF будет выполняться асинхронно после каждой модификации UITextField.Последний подход потребует дополнительных действий пользователя (т. Е. Нажатия кнопки сохранения) для пакетной отправки всего введенного времени.

Я опираюсь на первый подход и имею "болтливое" приложение, которое отправляет данные обратно в WCFсервис после каждой модификации UITextField.Выполнение этого асинхронно не должно мешать работе пользователя.Я исследовал ASIHTTPRequest для обработки очереди «болтливых» представлений и SBJSON для преобразования данных в полезную нагрузку JSON.

Что ты думаешь?Я правильно подхожу к этому?Повлияет ли асинхронное «болтливое» приложение на взаимодействие с пользователем?Спасибо за то, что вы звучитеЭто правильное место, чтобы задать архитектурные вопросы?

1 Ответ

1 голос
/ 15 февраля 2011

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

Тем не менее, большая часть этих накладных расходов и неэффективности в данном случае не имеет значения, потому что они делают это один раз в неделю.

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

Вы хотите, чтобы выдающийся индикатор активности отображался, когда происходит загрузка, и вы должны установить минимальный интервал времени для отображения индикатора на экране (т. Е. Если запрос занимает 100 мс, вы все равно должны показать индикатор достаточно долго, чтобы пользователь мог его увидеть). Возможно, вам также понадобится ярлык с надписью «Сохранено», который появляется при каждом исчезновении индикатора активности. (Вероятно, в противном случае следует сказать «ошибка» и предоставить инструкции о том, как пользователь может исправить проблему.)

...