Опубликован: 21.01.2010 | Уровень: специалист | Доступ: платный
Лекция 8:

Развертывание мобильного приложения

11.4. Инсталляция сред выполнения и других необходимых компонентов

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

  1. целевые устройства, на которых отсутствует среда выполнения, необходимая для вашего приложения, и
  2. целевые устройства, на которых отсутствуют компоненты, которые используются вашим устройством.

Динамическое развертывание сред выполнения на мобильных устройствах

Возможность динамической установки основных библиотек времени выполнения, необходимых вашему приложению, важна в том случае, если целевыми являются несколько поколений устройств. Например, в то время как .NET Compact Framework v2.0 поддерживается на Windows Mobile 2003, Windows Mobile 2003 Second Edition, Windows Mobile 5.0, Windows Mobile 6.0 и более поздних моделях, эта платформа не устанавливалась предварительно в ПЗУ ни на одном из устройств кроме Windows Mobile 6.0 (что отраженно в лекции обзора средств инструментальной разработки).

.NET Compact Framework 2.0 стала стандартной частью платформы лишь начиная с поколения Mobile 6.0. Если ваше приложение создавалось для выполнения поверх .NET Compact Framework v2.0 и вы хотите, чтобы оно выполнялось на максимально широком круге оборудования, то в случае некоторых устройств для этого может потребоваться динамическая установка среды времени выполнения. У вас имеются три различные возможности:

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

Так же следует указать лишь некоторые классы устройств поддерживают динамическую установку сред времени выполнения и компонентов.

Как уже отмечалось ранее, одни устройства являются открытыми и допускают установку программного обеспечения, тогда как другие допускают установку лишь определенного программного обеспечения и в силу этого могут не предусматривать динамическую установку сред времени выполнения. Кроме того, круг устройств, допускающих динамическую установку сред времени выполнения, ограничивается также техническими причинами. Например, на устройствах Microsoft Smartphone и Pocket PC работа с памятью, отводимой под файловые системы, осуществляется по-разному, вследствие чего поддержка установки .NET Compact Framework в файловой системе ОЗУ Pocket PC, если это необходимо, оказывается возможной, но при этом неосуществимой для устройств Microsoft Smartphone, которые требуют установки среды выполнения в ПЗУ (хотя приложения и могут храниться в файловой системе смартфона). Поэтому знание спецификаций и возможностей расширения функциональности целевых устройств имеет очень большое значение.

Не менее важным аспектом является правильное использование версий среды выполнения. Независимо от технологии используемых сред выполнения (например, .NET Compact Framework, J2ME, J2SE, собственные коды), время от времени появляются их обновленные версии, поэтому необходимо внимательно следить за тем, с какой именно версией вы работаете.

Многие среды выполнения обеспечивают совместимость с предыдущими версиями (обратную совместимость); например, версия 1.3 среды выполнения может выполнять код, написанный для версий 1.1 и 1.2. Если обратная совместимость не поддерживается, у вас имеются две возможности:

  1. Вероятно, самым простым решением является создание отдельных версий вашего приложения для каждой поддерживаемой версии среды выполнения; это потребует ваших дополнительных усилий при разработке и тестировании приложения, однако обеспечит наилучшие условия работы для конечных пользователей.
  2. Вторая возможность - это установка требуемой версии среды выполнения в соответствии с приведенным выше описанием.

Динамическая установка компонентов, необходимых приложению

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

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

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

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

ольга иванова
ольга иванова
Россия
Николай Белоглазов
Николай Белоглазов
Россия