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