Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:
При этом варианте установки вам также могут пригодиться инсталляционные программы независимых поставщиков.
Установка с использованием инструмента разработки
Если ваше приложение должно быть развернуто лишь на небольшом количестве устройств (например, 20), то вполне возможен вариант, при котором это может быть сделано для вас инструментом разработки. В инструментах разработки часто предусматриваются превосходные средства для загрузки приложений и необходимых компонентов, которыми вы можете воспользоваться, тем самым избавив себя от необходимости создания и отладки собственных сценариев установки.
Недостаток этого подхода состоит в том, что он фактически не обеспечивает масштабирования. Он не применим для развертывания приложений на устройствах с ограниченным доступом и приемлем только в случае небольшого количества устройств. Если не исключено, что впоследствии ваше приложение должно будет развертываться на большом количестве устройств, то вам придется подумать о механизме инсталляции, не требующем участия инструмента разработки. Если же вы создаете специализированное приложение, предполагаемое для использования немногочисленными устройствами, то этот вариант решения вас вполне устроит.
Установка
Еще одним вариантом установки, которым иногда можно воспользоваться при создании мобильных приложений для специализированного оборудования или при работе в непосредственном контакте с поставщиком мобильных устройств, является размещение приложения в образе ПЗУ устройства. Нестандартные мобильные устройства часто поставляются с определенным набором встроенных приложений.
Кроме того, для многих современных устройств предусматривается возможность перезаписи образу ПЗУ устройства, благодаря чему поставщик устройств может периодически обновлять возможности устройств. Обычно для осуществления такой перезаписи необходимо иметь криптографический ключ, позволяющий "разблокировать" образ ПЗУ устройства.
Несмотря на отсутствие каких-либо препятствий технического характера, установка приложений в ПЗУ требует тесного взаимодействия с поставщиком устройств (что само по себе может служить препятствием).
Резюме
Лучшее, что можно посоветовать разработчикам приложений, предназначенных для развертывания на большом количестве мобильных устройств, — это тестировать развертывание приложения уже на самых ранних стадиях цикла разработки и после этого включить соответствующие требования в число критериев прохождения каждой контрольной точки разработки. Разработка технологий подготовки к установке и установки приложений всегда требует выполнения большего объема работы, чем первоначально предполагается; кроме того, эта работа менее привлекательна по сравнению с созданием самого приложения, и поэтому ее часто откладывают на "потом", предпочитая заняться более интересными вещами. To же самое можно сказать и о приложениях для настольных компьютеров и серверов, но в случае мобильных устройств это оказывается вдвойне справедливым. Неоднородная природа мобильных устройств, потенциальная потребность в привлечении третьих сторон, поставляющих устройства, и необходимость тестирования процедур установки на различных типах устройств вынуждают уделять этой проблеме самое пристальное внимание. Начинайте готовить установочный пакет на самых ранних стадиях разработки, делайте это как можно чаще и тестируйте процедуру установки на целевом оборудовании, на котором планируется развертывать приложение.
ГЛАВА 17
Послесловие
Любую достаточно развитую технологию трудно
отличить от магии.
Если вы дочитали книгу до этого места — благодарю вас за то, что вы не пожалели на это своего времени! Надеюсь, что чтение книги доставило вам удовольствие, и она не только вдохновила вас, но и кое-чему научила. Если же вы просто перелистываете страницы, раздумывая над тем, стоит ли покупать эту книгу, то я надеюсь, что вы все-таки ее купите и прочтете!
Меня часто спрашивают, как будет далее развиваться ситуация в связи с широким распространением мобильных устройств. Не вдаваясь особенно в детали (что заведомо обречено на провал), я хотел бы поделиться с вами следующими соображениями:
■ "Персональный компьютер" никуда не исчезнет и не будет вытеснен мобильными устройствами. Мне часто приходится слышать такие рассуждения: "За прошлый год было продано 500 миллионов мобильных телефонов и 100 миллионов ПК. ПК скоро отойдут и будут вытеснены мобильными телефонами, подключенными к Internet". Когда говорят такое, то неявно предполагают, что мобильные телефоны служат тем же целям, что и персональные компьютеры: вместе с тем, это далеко не так. В силу присущих только персональным компьютерам интерактивных возможностей, необычайной широты сферы их применения, богатства красок экрана и тех удобств в работе, которые они предлагают, их уход с рынка представляется просто немыслимым. Вы только попытайтесь себе представить, как будет выглядеть написание книги с использованием мобильного телефона или проектирование сложной электронной таблицы на PDA; это в равной степени и невозможно, и не вызовет у вас ни капли энтузиазма. Персональные компьютеры с их большими экранами, богатыми возможностями ввода и вывода и поистине ошеломляющей вычислительной мощью и накопительной емкостью, играют очень важную роль, предоставляя пользователям доступ к необозримым океанам информации. Вместе с тем, персональные компьютеры эволюционируют и порождают новые технологические ветви. По-видимому, персональные компьютеры постепенно отойдут, будучи вытесненными с одной стороны лэптопами, а с другой — персональными/домашними серверами. Возможно, количество настольных ПК и уменьшается, но значение персональных компьютеров как таковых в наши дни продолжает расти. Да, действительно, будучи всегда под рукой и предоставляя пользователям удобные возможности для обмена данными с персональными компьютерами, мобильные устройства играют все более значимую роль, но персональные компьютеры при этом никуда не деваются.
■ Мобильные устройства станут нашими постоянными спутниками. В прежние времена люди постоянно носили с собой карманные часы. Эти устройства могут служить одним из первых примеров персональных технологий, продукты которых постоянно сопровождают своего владельца и предоставляют ему информацию по первому требованию. Их форм-фактор был вполне подходящим, а приносимая польза была неоспоримой; людям всегда надо знать, который сейчас час. Устройство умещалось в кармане и ненавязчиво предлагало ценную информацию, По мере того как развитие технологии позволило уменьшить их размеры, а массовое производство — снизить цены, часы перекочевали из карманов на запястья. Поскольку никакой необходимости в том, чтобы часы оставались соразмерными карманам, не было, они уменьшились. Приход цифровых технологий привел к дальнейшему снижению цен и расширению функциональных возможностей часов, но эти устройства в основном работали в режиме только чтения. Как ранние, так и современные модели цифровых часов предлагают некоторые службы,
■ Мобильные устройства будущего будут способны получать больше информации о своем окружении. Наличие в устройстве информации о времени и дате в наши дни воспринимается компьютерными программистами как само собой разумеющаяся вещь. Знание местоположения, окружения и контекста пользователя устройства — вот какими способностями будут обладать устройства ближайшего будущего. Такими способностями устройства будут наделяться постепенно и по частям, поскольку многие аспекты этого еще должны быть изучены, а задача достаточно сложна. Возможности определения устройством всей этой информации зависят не от какого-то одного, а от множества мелких факторов, которые, будучи раскрытыми перед разработчиками приложений в понятной для них форме, позволят мобильным устройствам намного превзойти свои нынешние возможности.
■ На мобильных устройствах будет устанавливаться много мелких и средних специализированных приложений. Настольные компьютеры полностью отдаются под власть крупных, всеобъемлющих приложений, которые окружают своих пользователей данными, приглашая исследовать их использовать в работе. Мобильные приложения оказываются наиболее эффективными тогда, когда дают пользователям возможность сфокусировать свое внимание на решении определенной задачи, предоставляя им сразу же только те данные и услуги, в которых они непосредственно нуждаются, и требуя для этого лишь минимальной навигации в пределах пользовательского интерфейса. Многофункциональные мобильные устройства лучше всего приспособлены для работы не с одним крупным приложением, а с множеством мелких или средних, каждое из которых позволяет сосредоточиться на решении ограниченного набора отдельных задач. Трудности использования данной модели связаны с тем, что поддерживать единообразие пользовательского интерфейса во всех таких приложениях весьма непросто. Пользователи, особенно пользователи завтрашнего дня, ничего не будут знать о концепции использования множества приложений на устройстве; они будут воспринимать устройство лишь как нечто, предлагающее совокупность богатых возможностей, пользоваться которыми должно быть удобно. Вы достигнете успеха лишь тогда, когда пользователь не будет замечать никаких следов "сшивки" отдельных кусков программного обеспечения, а будет видеть лишь единый, цельный, отшлифованный продукт.
■ Мы находимся в начале пути. Мобильные устройства только совсем недавно уменьшились в размерах, подешевели, приобрели множество функций и получили возможность подключаться к компьютерным сетям, чтобы их можно было использовать в качестве платформы для программных приложений. По этой причине большинство современных программных технологий для мобильных устройств фокусировались на переносе подходящим образом переработанных версий технологий, используемых на настольных компьютерах и серверах, на мобильные платформы. Этот первый шаг был необходим, но его следует рассматривать лишь как начало. Именно теперь, когда технологии с настольных компьютеров и серверов перенесены на устройства, и начинается самая интересная работа. Она будет заключаться в разработке новых средств и программных моделей, которые развиваются на мобильных устройствах. Эти новшества приживутся на мобильных устройствах и в соответствующем виде перейдут на лэптопы, настольные компьютеры и серверы. Такие идеи, как возможность получения устройством информации об окружении, коммуникационных возможностях и привычках того, кто пользуется устройством, являются вполне естественными направлениями для начала внедрения на мобильных устройствах таких инноваций, которые впоследствии пробьют себе дорогу и на более крупные и менее мобильные платформы. Нас ожидает волнующий этап.