Программирование мобильных устройств на платформе .NET Compact Framework - Иво Салмре
Шрифт:
Интервал:
Закладка:
Многие среды выполнения обеспечивают совместимость с предыдущими версиями (обратную совместимость); например, версия 1.3 среды выполнения может выполнять код, написанный для версий 1.1 и 1.2. Если обратная совместимость не поддерживается, у вас имеются две возможности:
1. Вероятно, самым простым решением является создание отдельных версий вашего приложения для каждой поддерживаемой версии среды выполнения; это потребует ваших дополнительных усилий при разработке и тестировании приложения, однако обеспечит наилучшие условия работы для конечных пользователей.
2. Вторая возможность — это установка требуемой версии среды выполнения в соответствии с приведенным выше описанием.
Динамическая установка компонентов, необходимых приложению
Компонентами являются любые установленные на устройстве технологии, используемые вашим приложением, которые не входят в состав базовой среды выполнения или операционной системы. В случае корпоративных мобильных приложений к таковым, например, относятся процессоры локальных баз данных устройства. Другим примером могут служить графические элементы управления независимых производителей, которые может использовать ваше приложение. Собственно компоненты могут сопровождаться дополнительными файлами. Например, в приложении, использующем процессор базы данных мобильного устройства, могут иметься файлы предварительно заполненных баз данных, содержащие данные, которые приложение будет использовать во время выполнения.
В отличие от рассмотренного выше случая сред выполнения, обычно не следует ожидать, что основная масса целевых устройств поставляется с уже установленными компонентами, в которых может нуждаться ваше приложение. Как и в предыдущем случае, если требуемые приложению компоненты отсутствуют, у вас есть две возможности: 1) необходимые компоненты могут быть предоставлены программой инсталляции приложения и установлены ею в соответствии с необходимостью, и 2) инсталляционный пакет вашего приложения может поставляться без компонентов, но сообщать пользователям о том, откуда компоненты могут быть установлены в индивидуальном порядке. Ваш выбор будет определяться тем, насколько велика вероятность того, что необходимые компоненты уже установлены на устройствах пользователей, а также тем, насколько включение компонентов увеличивает размер инсталляционного пакета приложения.
Возможные варианты упаковки и установки
Существует несколько возможных вариантов доставки и установки приложения. Какой механизм является наилучшим — зависит от сложности вашего приложения, его зависимости от компонентов, а также от того, каким образом ваше мобильное приложение будет использоваться конечными пользователями.
Копирование и выполнение / загрузка и выполнение
Если для вашего приложения отсутствуют подлежащие поставке вместе с ним компоненты, от которых оно зависит, то удобнее всего воспользоваться самым простым вариантом инсталляции по принципу "копирования и выполнения". Как говорит само название этого метода, в этом случае инсталляция сводится к локальному копированию приложения на устройство, после чего его можно будет запускать на выполнение.
При таком подходе отсутствует локальная регистрация приложения на устройстве. Если требуется регистрация приложения на мобильном устройстве, чтобы оно появлялось в вариантах навигации, предлагаемых пользователю устройства, вам потребуется дополнительный код установки.
Установка под управлением устройства
Установка, осуществляемая под управлением устройства, весьма напоминает установку настольных приложений на ПК. В этом случае для локальной установки приложения на мобильном устройстве запускается специальное приложение. Если для выполнения приложений на данном мобильном устройстве требуется наличие у них цифровых подписей, то подписью должна быть снабжена и инсталляционная программа. Обычно пользователи загружают и выполняют программу установки, используя Internet-браузер. Вы также можете воспользоваться средствами установки, поставляемыми независимыми разработчиками.
Обычно локальные инсталляционные программы обладают достаточной гибкостью, позволяющей устанавливать необходимые компоненты, копировать нужные файлы и выполнять другие операции, которые должны предшествовать процедуре инсталляции или следовать за ней.
Установка под управлением настольного компьютера
Установка под управлением настольного компьютера обычно осуществляется путем инициации запуска инсталляционной программы для устройства с настольного компьютера. Эта модель является наиболее распространенной при наличии взаимодействия между настольным ПК и мобильным устройством, с которым он синхронизирован. Настольное приложение может запустить инсталляционную программу, которая связывается с мобильным устройством и устанавливает на нем необходимое программное обеспечение.
Установка под управлением настольного компьютера обладает двумя существенными преимуществами: 1) с процедурой запуска инсталляционных программ на ПК пользователи хорошо знакомы, и 2) настольные компьютеры, которые синхронизируются с мобильными устройствами, могут применять этот процесс синхронизации для принудительного перемещения обновленных приложений и данных на устройства.
Как и в предыдущих случаях, вы также можете воспользоваться инсталляционными программами независимых поставщиков.
Установка с использованием карт памяти
Установка, основанная на использовании карт памяти, выполняется непосредственно на самом устройстве и инициируется путем вставки карты памяти в устройство. Эта разновидность процедуры установки весьма напоминает установку программного обеспечения на настольных компьютерах с компакт-дисков, когда инсталляционная программа автоматически запускается после вставки компакт-диска или диска DVD в соответствующий привод. Использование этого вида инсталляции предполагает наличие файла с определенным именем и определенным местоположением на носителе, где его и пытается найти операционная система после того, как вы вставите карту памяти в устройство.
Особенно удобным этот вариант установки оказывается тогда, когда карта памяти в любом случае должна использоваться для хранения данных приложения. Если, например, в мобильном приложении используется база данных и для хранения информации объемом 200 Мбайт используется съемная карта памяти, то выбор такого варианта установки будет вполне естественным. 4 Мбайт инсталляционного пакета приложения, его среды выполнения и других необходимых компонентов легко приютятся рядом с 200 Мбайт данных, которые в любом случае должны быть перенесены на устройство через карту памяти.
При этом варианте установки вам также могут пригодиться инсталляционные программы независимых поставщиков.
Установка с использованием инструмента разработки
Если ваше приложение должно быть развернуто лишь на небольшом количестве устройств (например, 20), то вполне возможен вариант, при котором это может быть сделано для вас инструментом разработки. В инструментах разработки часто предусматриваются превосходные средства для загрузки приложений и необходимых компонентов, которыми вы можете воспользоваться, тем самым избавив себя от необходимости создания и отладки собственных сценариев установки.
Недостаток этого подхода состоит в том, что он фактически не обеспечивает масштабирования. Он не применим для развертывания приложений на устройствах с ограниченным доступом и приемлем только в случае небольшого количества устройств. Если не исключено, что впоследствии ваше приложение должно будет развертываться на большом количестве устройств, то вам придется подумать о механизме инсталляции, не требующем участия инструмента разработки. Если же вы создаете специализированное приложение, предполагаемое для использования немногочисленными устройствами, то этот вариант решения вас вполне устроит.
Установка приложений в ПЗУ
Еще одним вариантом установки, которым иногда можно воспользоваться при создании мобильных приложений для специализированного оборудования или при работе в непосредственном контакте с поставщиком мобильных устройств, является размещение приложения в образе ПЗУ устройства. Нестандартные мобильные устройства часто поставляются с определенным набором встроенных приложений.
Кроме того, для многих современных устройств предусматривается возможность перезаписи образу ПЗУ устройства, благодаря чему поставщик устройств может периодически обновлять возможности устройств. Обычно для осуществления такой перезаписи необходимо иметь криптографический ключ, позволяющий "разблокировать" образ ПЗУ устройства.