Программирование мобильных устройств на платформе .NET Compact Framework - Иво Салмре
Шрифт:
Интервал:
Закладка:
Интересным примером многофункциональных клиентских приложений, выполняющихся на мобильных устройствах, являются мобильные Web-браузеры. Целесообразно сравнить между собой мобильные Web-браузеры и их настольные аналоги, чтобы выяснить, в чем состоит суть различий между ними. Благодаря этому мы получим в свое распоряжение неплохие метафоры для анализа того, как будут вести себя приложения для настольных компьютеров при их переносе на мобильные устройства и какие изменения необходимо в них внести, чтобы работать с ними в мобильных условиях было действительно удобно
В настоящее время Internet-браузеры предлагаются многими мобильными устройствами, однако по способу их использования браузеры этого типа отличаются от их аналогов, устанавливаемых на настольных компьютерах.
Несмотря на то что в их основе лежит одна и та же технология (оба типа браузеров обеспечивают визуализацию HTML-разметки при отображении документов), способы взаимодействия с ними пользователей заметно различаются между собой. Браузеры настольных компьютеров предназначены для доступа к как можно более широкому кругу Web-сайтов, а также для загрузки и отображения сложных документов. Задача же мобильных Internet-браузеров состоит в том, чтобы обеспечивать доступ к Web-сайтам, ориентированным на мобильные устройства, и загрузку документов с одновременным извлечением из них лишь наиболее существенной информации. Типичные мобильные браузеры работают одним из двух способов они либо 1) загружают содержимое, предназначенное специально для мобильных устройств, которое отличается упрощенными схемами компоновки страниц, меньшими размерами фотографий и изображений и приспособлено для просмотра в небольших окнах, либо 2) загружают обычное Web- содержимое, но пытаются вычленить из него и отобразить для пользователя лишь наиболее существенную его часть.
Создание оптимальных условий для работы в Web на мобильных устройствах требует координации взаимодействия устройства с серверомСледует отметить, что извлечение лишь наиболее существенной части содержимого типичных HTML-страниц с сохранением возможности приемлемого представления документов на мобильных устройствах является сложной проблемой. Учитывая огромное разнообразие возможных схем компоновки страниц с помощью HTML, а также тот факт, что наряду с основной информацией страницы заполняются второстепенным содержимым и рекламой, очень трудно определить, какая именно информация является наиболее существенной, и разместить эту информацию на небольшом экране мобильного устройства. Вместо того чтобы возлагать всю нагрузку на устройство, очень часто можно добиться лучших результатов, перекладывая решение большинства проблем на сервер. Часто такие популярные Web-сайты, как MSNBC или ВВС, предлагают отдельные версии содержимого, рассчитанные на мобильные устройства. Для решения этой задачи на двух упомянутых сайтах используются различные подходы, каждый из которых заслуживает внимания:
• http://www.msnbc.com/news/MobileChannel/mmc.asp. Этот Web-сайт автоматически подстраивает свой ответ под возможности браузера, выполняющего запрос. Результаты, получаемые при доступе к Web-сайту с обычного браузера настольного компьютера и браузера мобильного устройства, значительно различаются между собой.
• http://news.bbc.co.uk/text_only.stm. На этом сайте ВВС для представления Web-содержимого используются изображения с низким разрешением и ограниченное форматирование, что обеспечивает возможность эффективного просмотра содержимого на мобильных устройствах.
Задача отображения HTML-содержимого на мобильных устройствах может быть решена гораздо эффективнее, если сервер принимает участие в решении проблем, испытываемых устройством, и предоставляет упрощенное представление данных. Преодоление проблем, с которыми приходится сталкиваться приложениям на мобильных устройствах, за счет создания дополнительных специализированных служб на сервере — неплохая идея не только для Web-приложений, но и вообще для всех приложений, которым требуется доступ к данным, находящимся на сервере. Если для упрощения проблем разработки приложений, с которыми приходится сталкиваться в случае мобильных устройств, некоторую часть работы можно переложить на сервер, то в большинстве случаев этим надо обязательно воспользоваться.
Кроме того, в отличие от адресной строки браузеров настольных компьютеров, которая всегда на виду и используется довольно часто, адресная строка браузеров мобильных устройств во многих случаях остается скрытой, и ею пользуются гораздо реже. Из-за небольших размеров экрана и ограниченных возможностей механизма ввода, а также вследствие того, что на ввод URL-адресов уходит больше времени, а сама адресная строка занимает драгоценное экранное пространство, в случае мобильных устройств она менее употребительна. Добавьте к этому также тот факт, что значительную часть обычного Web-содержимого воспроизвести на мобильных устройствах приемлемым образом не удается. Все эти факторы заметно сужают возможности устройств в отношении полностью свободной навигации по адресам Web-сайтов.
Ничто из вышесказанного не должно создавать у вас впечатления, будто разработка Web-приложений для мобильных устройств и бесполезна, и неинтересна — это абсолютно не так! Существует немало отличных мобильных Web-приложений, предлагающих пользователю множество удобных возможностей при доступе к Web-ресурсам. В настоящее время, когда появились такие технологии разработки Web-приложений на стороне сервера, как ASP.NET Mobile Controls. Web-разработчикам стало легче создавать "мобильные представления" уже существующего Web-содержимого. Средства Web-просмотра для мобильных приложений всегда будут "приложениями-приманками", однако их эксклюзивность отличается от той, которая свойственна их аналогам для настольных компьютеров.
Форм-фактор
Ключевой и определяющей характеристикой большинства мобильных устройств являются их размеры. Этот физический фактор служит показателем полезности устройства — если оно способно уместиться в вашем кармане, значит оно полезно! Другими важными аспектами форм-фактора мобильных устройств являются следующие.
■ Возможность пользоваться устройством в условиях большого скопления людей и повышенного шума. Именно эти обстоятельства иногда делают речевой ввод фактически непригодным, хотя и возможным с технической точки зрения. Не менее важно, чтобы и мобильное устройство не доставляло окружающим никаких неудобств (вот почему использование устройств со звуковым выходом будет уместным не при любых обстоятельствах). Множество людей, ведущих разговоры по своим мобильным телефонам во время поездки в переполненном вагоне, не способствуют созданию комфортной обстановки для остальных пассажиров. Если для вашего мобильного приложения требуется звук, продумайте варианты бесшумного режима работы или предусмотрите использование головных телефонов.
■ Возможность осуществлять управление устройством одной или двумя руками. Конструкция многих мобильных устройств обеспечивает возможность управления ими при помощи одной руки. Большинство мобильных телефонов удовлетворяют этому требованию. Некоторые устройства должны удерживаться в одной руке, а управляться другой. В эту категорию попадает большинство устройств PDA. Для эффективной работы с лэптопом обычно требуется использовать обе руки и иметь плоскую поверхность, на которую можно было бы поставить компьютер. Ваше приложение должно следовать той парадигме использования, которая налагается устройством, то есть, не следует создавать приложение, эффективная работа с которым возможна только при условии использования обеих рук, если оно предназначено для выполнения на мобильных устройствах, которыми обычно оперируют лишь одной рукой. Этот аспект является очень важным при уточнении сферы применения приложения. Другим важным фактором являются условия физического окружения, в которых приходится пользоваться микрокомпьютером. Возможности сенсорного дисплея создают богатейшую среду для переключения между приложениями, однако разработчики нередко создают и тестируют пользовательские интерфейсы либо запуская приложения на эмуляторах устройств, установленных на настольных компьютерах, либо сидя за рабочим столом. В результате этого пользовательские интерфейсы оказываются весьма далекими от того, что действительно требуется при использовании приложений в реальных условиях. В процессе реального использования приложений устройства могут находиться под воздействием толчков или вибрации, а людям часто хочется или приходится использовать свои устройства во время ходьбы или они предпочитают надавливать на экран пальцами, а не пером. Как ни парадоксально это звучит, но в условиях реального использования ввод данных посредством сенсорного экрана небольших мобильных устройств требует больших размеров элементов управления, нежели в случае стационарных приложений, установленных на персональных компьютерах. Важно определить, должно ли ваше приложение быть "дружественным к одной руке", "дружественным к перу" и требовать использования обеих рук или "дружественным к пальцу", если оно предназначено для использования на устройстве с сенсорным экраном и предусматривает возможность работы с ним во время движения пользователя.