2011-02-02 2 views
0

Я разрабатываю серверные приложения в Java, и теперь меня попросили обслуживать некоторые мобильные приложения. Вопрос всегда меня беспокоит «сколько» данных я должен отправить в приложение? Если мне нужно перенести большой XML-документ, я должен отправить его узлом по требованию .... если да, то он больше не будет потреблять батарею телефона (так как телефон будет создавать новые соединения для всех узлов) , Если я решаю сразу отправить весь документ, клиенту может потребоваться много времени, чтобы загрузить весь документ, и может возникнуть проблема с его временным хранением ... тем более, может возникнуть несогласованность данных в двух копиях данных , Короче говоря, мне нужно знать, «является ли создание соединения для мобильного устройства слишком дорогостоящим?» Какой подход лучше - получать данные в кусках, создавая несколько соединений или получая все данные вместе в одном соединении.Вопросы проектирования при разработке веб-сервисов для мобильных приложений

Мне также нужно знать, разрабатывая мою веб-службу для мобильных клиентов, должен ли я отправлять им URI изображения или данные изображения (в виде массива байтов)?

Спасибо.

ответ

1

Вы должны загрузить как можно меньше (раз). Это приложение, которое ответит на ваш вопрос. Не загружайте списки из 1000 предметов, загружайте всего 10, подождите, пока пользователь прокрутит страницу вниз, загрузите следующий 10. кешируйте элементы.

Немного более сложный способ сделать так, как это регистрирует пользователя, то есть загрузку данных, в начале он впервые использует приложение, он будет загружать столько всего, сколько вам нужно, назовите его в первый раз погрузка. Зарегистрируйтесь, что пользователь загрузил. Следующий звонок от пользователя u отправит ему только данные, которые были изменены, и отправьте с этими данными изменения для выполнения на клиентском устройстве.

1

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

Лучший способ архитектор для мобильных устройств - найти правильный размер укуса для еды. Другими словами, вы не отправляете 10 000 записей за один раз, но вы не отправляете сетку из 10 элементов по 1 строке за раз.

В зависимости от размера изображения вы должны отправить изображение напрямую (кодировка base64 распространена), а не как ссылка. Исключением было бы отправить пользователя на веб-страницу и позволить им просматривать, но тогда это не действительно «мобильное приложение», не так ли?

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