Чтение онлайн

на главную

Жанры

Программирование мобильных устройств на платформе .NET Compact Framework

Салмре Иво

Шрифт:

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

Настройка взаимодействия с внешними источниками информации

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

источников, обслуживающих мобильные устройства, и осуществлялась проверка того, что информация предоставляется в той форме, которая соответствует данному устройству. В качестве примера можно привести службы электронной почты для мобильных устройств. Многофункциональные почтовые приложения требуют наличия соответствующего программного обеспечения как на стороне сервера, так и на стороне клиента. Клиент осуществляет доступ к серверу для получения информации относительно поступивших сообщений и загружает соответствующее содержимое в локальное устройство. Поскольку сетевые соединения, используемые мобильными устройствами, отличаются нерегулярностью доступа к ним, пониженной пропускной способностью, а во многих случаях и более высокой стоимостью по сравнению с теми соединениями, которые используются персональными компьютерами, почтовые службы сервера должны быть приспособлены для удовлетворения этих требований. Обычно это достигается за счет того, что на сервере предоставляются средства, позволяющие ограничивать объем загружаемого содержимого, или фильтры, пропускающие лишь ту информацию, которая действительно может потребоваться пользователю мобильного устройства. Для обеспечения поддержки эффективных сценариев при обслуживании мобильных устройств может потребоваться расширение функциональных возможностей тех служб на стороне сервера, которые первоначально предназначались для обслуживания персональных компьютеров. Кроме того, должны быть предусмотрены такие механизмы настройки конфигурационных параметров приложения для его выполнения на серверах, настольных компьютерах и самих мобильных устройствах, при помощи которых пользователи смогут определять свои информационные запросы и настраивать информационные фильтры таким образом, чтобы обеспечивалось выполнение соответствующих требований. Проектирование мобильных приложений далеко не ограничивается физическими границами самих мобильных устройств.

Единообразие стиля интерфейса 

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

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

Различия в архитектуре компьютеров 

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

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

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

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

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

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

Некоторые простые подсчеты, касающиеся размеров памяти

Объем ОЗУ современных многофункциональных мобильных устройств достигает 64 Мбайт. ОЗУ такого объема часто разделяются на программное ОЗУ и виртуальную файловую систему. Предположим, что 32 Мбайт такого ОЗУ приходится на файловую систему, предназначенную для хранения всех долговременных данных, с которыми вы работаете (такими данными могут быть фотографии, документы, музыка или другая информация). При этом в совместном распоряжении операционной системы и приложений остается 32 Мбайт. Допустим, что одновременно выполняются пять приложений (не столь уж редкая ситуация), каждое из которых использует примерно одинаковый объем ОЗУ, а сама операционная система использует те же ресурсы, что и отдельное приложение. В результате этого на каждое приложение приходится примерно 5-6 Мбайт ОЗУ. Хотя этот объем памяти и значителен, он далеко не бесконечен. Несколько крупных цифровых фотографий, перенесенных в память, израсходуют большую часть ОЗУ. Многие мобильные устройства располагают значительно меньшими рабочими объемами ОЗУ, а количество одновременно запускаемых приложений в реальных случаях может превышать то, которое мы использовали выше в качестве примера. Доступный на устройстве объем ОЗУ устанавливает абсолютный предел, превышение которого невозможно ни при каких обстоятельствах. Если имеющаяся физическая память устройства истощена, объекты не будут перемещаться в страничный файл, как это было бы в случае настольных компьютеров. Вероятнее всего, приложение израсходует всю доступную память и закончится аварийно.

Несколько мегабайт доступного рабочего пространства — это не так уж плохо при условии их эффективного использования, аналогично тому, как однокомнатная квартира на Манхэттене способна предоставить довольно много свободного места, если не забивать ее разным хламом. Стоит только перестать контролировать заполнение квартиры вещами, как очень быстро будет достигнуто критическое состояние, при котором в комнату больше ничего нельзя будет внести, и в ней останется ровно столько места, чтобы его едва хватало для перемещения в пределах квартиры. Будучи набитой лишними вещами, ваша комната станет бесполезной. Аналогичные соображения применимы и в случае мобильных устройств.

Резюме 

Мобильные устройства существенно отличаются от настольных компьютеров и лэптопов. По этой причине между приложениями для мобильных устройств и приложениями для настольных компьютеров имеется множество различий. На настольных компьютерах работа с приложениями обычно осуществляется в виде длительных рабочих сеансов, и приложение считается удовлетворительным, если оно в состоянии предложить пользователю удобную среду для исследования информации, с которой ведется работа. Работа с приложениями для мобильных устройств обычно происходит во время нерегулярных, часто повторяющихся, но кратковременных рабочих сеансов. В силу этого хорошее мобильное приложение должно предлагать не универсальную среду исследовательского характера, а эффективную рабочую среду, сфокусированную на выполнении специализированных задач.

Малое время запуска, способность к быстрому отклику и целевая ориентация — вот отличительные признаки качественно спроектированного мобильного приложения. Будучи вместе взятые, эти факторы формируют в процессе использования мобильных устройств высокопроизводительную пользовательскую среду. Всегда помните об этом, когда проектируете создаете и тестируете свои приложения для мобильных устройств.

С точки зрения компьютерной архитектуры мобильные устройства отличаются от настольных компьютеров и лэптопов тем, что в своем большинстве они не оборудуются жесткими дисками и их ОЗУ используются как для выполнения программ, так и для хранения файлов. В настоящее время появляется все больше устройств, в которых для долговременного хранения файлов может использоваться флэш-память. Флэш-память обеспечивает неплохие возможности для организации долговременного хранения данных, но обычно она не может быть использована для расширения программного ОЗУ, как это делается в настольных компьютерах, в которых для расширения виртуальной памяти используются страничные файлы на дисках. Отсюда следует, что в случае мобильных устройств эффективное управление памятью имеет гораздо большее значение, чем в случае настольных компьютеров, в силу значительной ограниченности объема ОЗУ, используемого для выполнения программ.

Поделиться:
Популярные книги

Возвышение Меркурия. Книга 7

Кронос Александр
7. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 7

Жена со скидкой, или Случайный брак

Ардова Алиса
Любовные романы:
любовно-фантастические романы
8.15
рейтинг книги
Жена со скидкой, или Случайный брак

Совок 2

Агарев Вадим
2. Совок
Фантастика:
альтернативная история
7.61
рейтинг книги
Совок 2

Прометей: каменный век

Рави Ивар
1. Прометей
Фантастика:
альтернативная история
6.82
рейтинг книги
Прометей: каменный век

Ты предал нашу семью

Рей Полина
2. Предатели
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Ты предал нашу семью

Уязвимость

Рам Янка
Любовные романы:
современные любовные романы
7.44
рейтинг книги
Уязвимость

Венецианский купец

Распопов Дмитрий Викторович
1. Венецианский купец
Фантастика:
фэнтези
героическая фантастика
альтернативная история
7.31
рейтинг книги
Венецианский купец

Попаданка для Дракона, или Жена любой ценой

Герр Ольга
Любовные романы:
любовно-фантастические романы
7.17
рейтинг книги
Попаданка для Дракона, или Жена любой ценой

Любимая учительница

Зайцева Мария
1. совершенная любовь
Любовные романы:
современные любовные романы
эро литература
8.73
рейтинг книги
Любимая учительница

Воевода

Ланцов Михаил Алексеевич
5. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Воевода

Деспот

Шагаева Наталья
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Деспот

Мастер...

Чащин Валерий
1. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
6.50
рейтинг книги
Мастер...

Не кровный Брат

Безрукова Елена
Любовные романы:
эро литература
6.83
рейтинг книги
Не кровный Брат

Не грози Дубровскому! Том III

Панарин Антон
3. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том III