Создание первого настольного приложения AIR с использованием пакета Flex SDK

Для быстрого и наглядного представления принципов работы Adobe® AIR® используйте эти инструкции по созданию простого SWF-приложения AIR «Hello World» с помощью пакета Flex SDK. В данном учебном пособии описаны процедуры компиляции, тестирования и упаковки приложений AIR с помощью инструментов командной строки, включенных в пакет Flex SDK (Flex SDK содержит AIR SDK).

Для начала необходимо установить среду выполнения и настроить Adobe® Flex™. В этом пособии показано использование компилятора AMXMLC, средства запуска AIR Debug Launcher (ADL) и инструмента AIR Developer Tool (ADT). Эти программы находятся в каталоге bin среды Flex SDK (см. раздел «Настройка Flex SDK»).

Создание файла дескриптора приложения AIR

В этом разделе описаны принципы создания дескриптора приложения, представляющего собой XML-файл со следующей структурой:

<application xmlns="..."> 
    <id>...</id> 
    <versionNumber>...</versionNumber> 
    <filename>…</filename> 
    <initialWindow> 
        <content>…</content> 
        <visible>…</visible> 
        <width>…</width> 
        <height>…</height> 
    </initialWindow> 
</application>
  1. Создайте XML-файл HelloWorld-app.xml и сохраните его в каталоге проекта.

  2. Добавьте элемент <application>, включая атрибут пространства имен AIR:

    <application xmlns="http://ns.adobe.com/air/application/2.6"> Последний сегмент пространства имен (2.6) задает версию среды выполнения, которая требуется для приложения.

  3. Добавьте элемент <id>:

    <id>samples.flex.HelloWorld</id> Идентификатор приложения однозначно идентифицирует приложение в сочетании с идентификатором издателя (который AIR извлекает из сертификата, используемого для подписи пакета приложения). Рекомендуемым форматом является обратная запись строки DNS с использованием точки в качестве разделителя, например "com.company.AppName". Идентификатор приложения используется для установки, обращения к частному каталогу хранилища файловой системы приложения, доступа к частному зашифрованному хранилищу и взаимодействия между приложениями.

  4. Добавьте элемент <versionNumber>:

    <versionNumber>1.0</versionNumber> Помогает пользователям определить, какую версию приложения они устанавливают.

  5. Добавьте элемент <filename>:

    <filename>HelloWorld</filename> Имя, используемое для выполняемого файла приложения, каталога установки и аналогичных ссылок на приложение в операционной системе.

  6. Добавьте элемент <initialWindow>, содержащий следующие дочерние элементы, чтобы указать свойства исходного окна приложения:

    <content>HelloWorld.swf</content> Определяет корневой HTML-файл приложения AIR для загрузки.

    <visible>true</visible> Сразу делает окно видимым.

    <width>400</width> Задает ширину окна (в пикселах).

    <height>200</height> Задает высоту окна.

  7. Сохраните файл. По завершении файл дескриптора приложения должен иметь следующий вид:

    <?xml version="1.0" encoding="UTF-8"?> 
    <application xmlns="http://ns.adobe.com/air/application/2.6"> 
        <id>samples.flex.HelloWorld</id> 
        <versionNumber>0.1</versionNumber> 
        <filename>HelloWorld</filename> 
        <initialWindow> 
            <content>HelloWorld.swf</content> 
            <visible>true</visible> 
            <width>400</width> 
            <height>200</height> 
        </initialWindow> 
    </application>

В этом примере устанавливается всего несколько возможных свойств приложения. Полный набор свойств приложения, которые позволяют указывать такие аспекты как хром окна, размер окна, прозрачность, каталог установки по умолчанию, связанные типы файлов и значки приложения, см. в разделе «Файлы дескриптора приложения AIR».

Написание кода приложения

Примечание. В SWF-приложениях AIR может использоваться основной класс, заданный с использованием MXML или Adobe® ActionScript® 3.0. В этом примере MXML-файл используется для определения основного класса. Процесс создания приложения AIR с использованием основного класса ActionScript аналогичен. Вместо компиляции файла MXML в SWF-файл выполняется компиляция файла класса ActionScript. При использовании ActionScript основной класс должен расширять flash.display.Sprite.

Как и во всех приложениях Flex, в приложениях AIR, созданных в среде Flex, содержится основной файл MXML. В приложениях AIR для настольных компьютеров в качестве корневого элемента используется компонент WindowedApplication, а не компонент Application. Компонент WindowedApplication предоставляет свойства, методы и события для управления приложением и его начальным окном. На платформах и в профилях, для которых AIR не поддерживает несколько окон, следует использовать компонент Application. В мобильных приложениях Flex можно также использовать компоненты View и TabbedViewNavigatorApplication.

Следующая процедура позволяет создать приложение «Hello World»:

  1. В текстовом редакторе создайте файл HelloWorld.mxml и добавьте следующий код MXML:

    <?xml version="1.0" encoding="utf-8"?> 
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx" 
                           title="Hello World"> 
    </s:WindowedApplication>
  2. Далее добавьте компонент Label в приложение (поместите его внутрь тега WindowedApplication).

  3. Задайте для свойства text компонента Label значение "Hello AIR".

  4. Установите ограничения макета, чтобы он всегда располагался по центру.

    В следующем примере показан код на данном этапе:

    <?xml version="1.0" encoding="utf-8"?> 
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx" 
                           title="Hello World"> 
         
        <s:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/> 
    </s:WindowedApplication>

Компиляция приложения

Перед выполнением и отладкой приложения скомпилируйте код MXML в SWF-файл с использованием компилятора amxmlc. Компилятор amxmlc находится в каталоге bin пакета Flex SDK. При необходимости можно включить каталог bin пакета Flex SDK в переменную среды для пути на компьютере. Настройка пути делает выполнение утилит в командной строке более простым.

  1. Откройте командную среду или терминал команд и перейдите к папке проекта приложения AIR.

  2. Введите следующую команду:

    amxmlc HelloWorld.mxml 

При выполнении компилятора amxmlc создается файл HelloWorld.swf, содержащий скомпилированный код приложения.

Примечание. Если не удается скомпилировать приложение, исправьте синтаксические или орфографические ошибки. Ошибки и предупреждения отображаются в окне консоли, используемом для выполнения компилятора amxmlc.

Дополнительные сведения см. в разделе «Компиляция исходных файлов MXML и ActionScript для AIR».

Проверка приложения

Чтобы выполнить и протестировать приложение из командной строки, используйте инструмент AIR Debug Launcher (ADL) для запуска приложения с помощью соответствующего файла дескриптора приложения. (Инструмент ADL находится в каталоге bin пакета Flex SDK.)

 В командной строке введите следующую команду:
adl HelloWorld-app.xml 

Получившаяся программа AIR должна выглядеть примерно так:

С использованием свойств horizontalCenter и verticalCenter элемента управления Label текст размещается в центре окна. Перемещайте или изменяйте размер окна также, как в любом другом приложении для настольного компьютера.

Дополнительные сведения см. в разделе «AIR Debug Launcher (ADL)».

Создание файла установки AIR

Если приложение успешно запущено, можно использовать утилиту ADT, чтобы упаковать приложение в файл установки AIR. Файл установки AIR — это файл архива, в котором содержаться все файлы приложения, которые можно передавать другим пользователям. Перед установкой такого упакованного файла AIR необходимо установить Adobe AIR.

Чтобы обеспечить защиту приложения, все файлы установки AIR должны содержать цифровую подпись. С помощью ADT или другого инструмента генерации сертификатов можно создать простой, самозаверяющий сертификат, используемый в целях разработки. Можно также приобрести коммерческий сертификат подписи кода в коммерческом центре сертификации. Если пользователь устанавливает файл AIR с самозаверяющим сертификатом, то в ходе процесса установки показывается «неизвестный» издатель. Это объясняется тем, что самозаверяющие сертификаты гарантируют лишь то, что файл AIR не изменялся с момента своего создания. Ничто не сможет помешать злоумышленнику сделать файл AIR с самозаверяющим сертификатом и представить его как ваше приложение. Поэтому в выпускаемых для широкого использования файлах AIR рекомендуется использовать обеспечивающие возможность проверки коммерческие сертификаты. Краткие сведения о проблемах системы защиты AIR см. в разделе Система защиты AIR (для разработчиков ActionScript) или Система защиты AIR (для разработчиков HTML).

Создание самозаверяющих подписывающих сертификатов и пары ключей

 В командной строке введите следующую команду (выполняемый файл ADT находится в каталоге bin пакета Flex SDK):
adt –certificate -cn SelfSigned 1024-RSA sampleCert.pfxsamplePassword

В этом примере используется минимальный набор атрибутов, которые могут быть установлены для сертификата. Можно использовать любые значения для параметров, обозначенных курсивом. Ключ должен иметь тип 1024-RSA или 2048-RSA (см. раздел «Подписание приложений AIR»).

Создание пакета AIR

 Из командной строки выполните следующую команду (вводится одной строкой):
adt -package -storetype pkcs12 -keystore sampleCert.pfx HelloWorld.air 
HelloWorld-app.xml HelloWorld.swf

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

Аргумент HelloWorld.air — это файл AIR, создаваемый ADT. HelloWorld-app.xml — это файл дескриптора приложения. Последующими аргументами являются файлы, используемые приложением. В этом примере используются только три файла, но можно включить любое число файлов и каталогов.

После создания пакета AIR можно установить и выполнить приложение, дважды щелкнув этот упакованный файл. Также можно ввести имя файла AIR, используя команду в оболочке ОС или консоль управления.

Дополнительные сведения см. в разделе «Упаковка файла установки AIR для настольных систем».