Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:
Резюме
Современные многофункциональные мобильные устройства предоставляют разработчикам замечательные возможности для создания конкурентоспособного мобильного программного обеспечения. Программы для мобильных устройств способны украсить людям досуг, доставить им ценную информацию и облегчить принятие решений, а также увеличить производительность труда за счет того, что работа может выполняться не только за рабочим столом. Учитывая богатое разнообразие новейших технологий и возможностей, наше время можно считать поистине благодатным для разработчиков программного обеспечения.
Удачные мобильные приложения предоставляют пользователям интерфейсы, позволяющие сосредоточиться на сути задачи и быстро получить результат. Ключевым фактором таких удобств в работе является
При создании мобильных приложений первостепенным вопросом, на который всегда требуется находить ответ, является следующий: "Должно ли приложение быть локальным или основанным на браузере?" Вариант локальных приложений позволяет создавать максимально удобные условия работы для пользователей и обеспечивает возможность запуска приложений даже при отсутствии подключения к сети, хотя и требует предварительной установки на устройстве соответствующего программного обеспечения.
Если выбран вариант многофункционального приложения, развернутого на локальном устройстве, то необходимо дать ответ также на следующий вопрос: "Следует ли создать приложение с использованием собственного кода или же с использованием среды выполнения управляемого кода?" Ответ по умолчанию подразумевает использование управляемого кода, поскольку в этом случае вы получаете существенный выигрыш в производительности и надежности, которые обеспечиваются современными средами, поддерживающими управляемый код.
В настоящее время имеется несколько таких сред, самыми популярными из которых являются среды J2ME и .NET Compact Framework. В оставшейся части книги описываются наиболее важные аспекты приложений и сред выполнения для мобильных устройств и излагаются основные идеи и методы разработки программного обеспечения, при помощи которых вы сможете создавать замечательные мобильные приложения. Для иллюстрации этих идей, которая сопровождается множеством примеров, в книге применяется платформа .NET Compact Framework. Независимо от сделанного вами выбора языка или среды выполнения, обсуждающиеся в книге общие принципы в равной степени относятся к разработке мобильных приложений как с использованием собственных кодов, так и с использованием сред выполнения управляемого кода.
Хочется надеяться, что чтение этой книги доставит вам удовольствие, и вы испытаете немало приятных минут, изучая и исследуя на практике те замечательные возможности, которые мобильные устройства открывают перед разработчиками новейшего программного обеспечения!
ГЛАВА 2
Характеристики мобильных приложений
Интеллект – это дар быстрого проникновения в суть вещей, который следует отличать от обычных способностей, означающих просто умение действовать со знанием дела по отношению к тому, суть чего уже понята.
Введение
Мобильные приложения отличаются от своих настольных собратьев, и поэтому стоит потратить некоторое время на рассмотрение вопроса о том, какие именно факторы обусловливают их специфику. Чтобы добиться успеха при разработке мобильных приложений, важно хорошо понимать, что на самом деле представляют собой мобильные устройства и чем они отличаются от настольных и портативных вычислительных машин, с которыми также взаимодействуют пользователи.
Данная глава должна подготовить необходимую для этого почву и приучить вас мыслить категориями "мобильности". От умения рассуждать с учетом специфики устройств зависит очень многое, поскольку это самым радикальным образом повлияет на ваш подход к проектированию приложений. Создание неординарных мобильных приложений требует хорошего понимания того, какие именно ключевые характеристики делают то или иное приложение действительно замечательным. В этой главе даются ответы на такие вопросы: "Чем именно отличается использование приложений для мобильных устройств от использования приложений для настольных компьютеров?" и "Каковы наиболее важные отличительные характеристики хороших мобильных приложений?"
Вооружившись этими знаниями, вы сможете
Распространенные схемы использования мобильных устройств
Наиболее существенные различия между приложениями для мобильных устройств и приложениями для настольных компьютеров обусловлены, вероятно, тем, каким именно образом люди их используют. Представьте, что вы сидите за компьютером — и что вы при этом делаете? Если вы относитесь к самой многочисленной категории пользователей, то используете компьютер в основном для следующих видов работы: просмотр ресурсов в Web, работа с документами (обработка текстовых документов, электронных таблиц, рисунков и тому подобного) и общение (электронная почта, мгновенный обмен сообщениями и так далее). В типичных случаях все эти виды деятельности носят долговременный, исследовательский характер, и пользователь периодически переходит от одного из этих основных занятий к другому. Если вы разработчик (и можно побиться об заклад, что это действительно так, иначе зачем вам читать эту книгу?), то можете дополнить этот список разработкой программного обеспечения, которая, несомненно, также относится к видам деятельности, растянутым во времени и требующим проведения исследований. Если же вы используете компьютер для игр, то должны знать, что многие из самых интересных игр требуют от игроков активного исследования сложных виртуальных миров и взаимодействия с ними, что также поглощает много времени и заставляет пользователя тщательно продумывать каждый свой шаг.
В большинстве случаев способы использования настольного и мобильного вариантов одного и того же приложения отличаются между собой, хотя и дополняют друг друга. Как правило, работа пользователя с мобильным приложением носит характер кратковременных сеансов взаимодействия, которое либо прерывается извне, либо само вызывает прерывание сеанса. Обычно пользователь либо реагирует на попытку прервать его работу, либо использует устройство для немедленной передачи запроса определенному лицу или процессу. Прекрасной иллюстрацией этого может служить типичная практика использования современных мобильных телефонов. Когда вы совершаете телефонный звонок или отправляете текстовое SMS-сообщение, ваш абонент получает сигнал прерывания; если же звонят или посылают SMS-сообщением вам, то прерывается ваша работа. Эта же модель использования переносится и на любое другое приложение, выполняющееся на мобильных устройствах. Мобильное приложение может считаться удачно разработанным лишь в том случае, если пользоваться им столь же просто и естественно, как связываться с кем-то по телефону или обмениваться SMS-сообщениями.
Кроме того, приложениям для мобильных устройств присуща ярко выраженная специализация, обеспечивающая максимально удобный доступ пользователя к ограниченному набору определенных возможностей, что и отличает устройства от той универсальной исследовательской среды, создание которой характерно для успешных приложений, выполняющихся на настольных вычислительных машинах. Поскольку управление мобильными устройствами чаще всего осуществляется одной рукой или с помощью небольшого экрана с перьевым устройством ввода, очень важно обеспечить пользователя возможностями оперативной идентификации и быстрого нахождения нужной ему информации или средств. Возможность быстрой навигации в пределах немногочисленного набора ключевых средств является важным показателем качества разработки мобильного приложения.
Долговременные и кратковременные виды деятельности
Работа за настольными компьютерами, как правило, ведется на протяжении длительных рабочих сеансов. Самыми обычными являются часовые сеансы, однако нередко они затягиваются на несколько часов. В процессе длительной работы формируются и разрабатываются идеи, а сама работа носит итеративный характер со свойственными ему возвратами к уже пройденным этапам. Поэтому большее значение имеет не сокращение длительности подготовки к работе, а предоставление пользователю богатого набора разнообразных средств, которые могут ему понадобиться в процессе исследования и обработки соответствующей информации.