Adobe air sdk что это
Что-то технология Adobe AIR на хабре почти никак не представлена. На мой взгляд, напрасно, так как проект очень интересный. И не только тем, что позволяет создавать интернет-приложения для десктопов, но и тем, что технология мультиплатформенна. Недавно в своем блоге я написал статью о разработке приложений для AIR. Этой статьей мне хочется показать, что разработка для AIR — это просто.
Мне стало интересно оценить трудоемкость разработки программного обеспечения для Air. На сайте Adobe доступен для скачивания SDK и средства разработки. Можно скачать SDK как отдельно, так и в виде расширения к Adobe Dreamweaver CS3. Но самый, на мой взгляд, удобный способ — это установка Aptana Studio. Aptana основана на Eclipse. Air SDK подключается плагином, как это сделано в случае с SDK для Android и ACCESS Linux Platform. Естественно, ничего не мешает подключить плагин для Air SDK и просто в Eclipse. Это приятно. Eclipse становится, фактически, стандартом для разработки ПО для очень разных систем. Вдвойне приятно, что эта интегрированная среда разработки кроссплатформенна и существует для всех современных десктопных операционных систем.
В качестве объекта для эксперимента я выбрал Google Reader. У меня это одно из самых востребованных веб-приложений и оно как нельзя лучше подходит для вынесения в отдельное приложение. Даже своего интерфейса городить не нужно, базовые возможности Google Reader вполне достойны.
После установки можно создавать новый проект (File -> New -> Project). Выбираем тип проекта AIR Project и с помощью нехитрого визарда создаем HTML-приложение.
Собственно, заготовка готова. Осталось только отредактировать HTML-файл. В моем случае в файле GooReadAir.html я написал следующее:
Собственно, все. Можно запускать приложение прямо из Aptana или сделать готовый air-пакет. Для создания пакета делаем правый клик мышью на проекте и выбираем Export.
Приложение GooReadAir готово. Можно устанавливать и запускать. Результат на скриншоте:
К сожалению, на хабре нельзя прикладывать файлы к постам. Поэтому желающие могут скачать исходники проекта и готовый AIR-пакет, пройдя по ссылке.
Приложения AIR можно создавать с помощью следующих инструментов платформы Adobe Flash Platform.
Для разработчиков ActionScript 3.0 (Flash и Flex):
Adobe Flash Professional (см. веб-страницу «Публикация для AIR»)
Комплекты SDK Adobe Flex 3.x и 4.x (см. разделы «Настройка Flex SDK» и «AIR Developer Tool (ADT)»)
Для разработчиков HTML и Ajax:
Adobe Dreamweaver CS3, CS4, CS5 (см. раздел «Расширение AIR для Dreamweaver)
Установка AIR SDK
В состав SDK Adobe AIR входят следующие инструменты командной строки для запуска и упаковки приложений.
AIR Debug Launcher (ADL) Позволяет запускать приложения AIR, не устанавливая их. См. раздел «AIR Debug Launcher (ADL)».
AIR Development Tool (ADT) Предназначен для упаковки приложений AIR в развертываемые установочные пакеты. См. раздел «AIR Developer Tool (ADT)».
Для запуска инструмента ADT требуется не менее 2 ГБ памяти на компьютере.
Примечание. Для запуска приложений AIR конечным пользователям устанавливать Java не требуется.Краткий обзор создания приложения AIR с помощью AIR SDK см. в разделе «Создание первого HTML-приложения AIR с помощью комплекта AIR SDK».
Загрузка и установка AIR SDK
Ниже описано, как загрузить и установить AIR SDK:
Установка AIR SDK в ОС Windows
Загрузите установочный файл AIR SDK.
AIR SDK распространяется в виде стандартного файла архива. Чтобы установить AIR, извлеките содержимое SDK в папку на компьютере (например, в C:\Program Files\Adobe\AIRSDK или C:\AIRSDK).
Инструменты ADL и ADT содержатся в папке bin комплекта AIR SDK; добавьте этот путь в переменную среды PATH.
Установка AIR SDK в ОС Mac OS X
Загрузите установочный файл AIR SDK.
AIR SDK распространяется в виде стандартного файла архива. Чтобы установить AIR, извлеките содержимое SDK в папку на компьютере (например, в: /Users/<имя_пользователя>/Applications/AIRSDK).
Инструменты ADL и ADT содержатся в папке bin комплекта AIR SDK; добавьте этот путь в переменную среды PATH.
Установка AIR SDK в ОС Linux
Пакет SDK доступен в формате tbz2.
Чтобы установить SDK, создайте папку и распакуйте в нее содержимое SDK, используя команду tar -jxvf <путь к файлу AIR-SDK.tbz2>
Сведения о начале работы с инструментами AIR SDK см. в разделе «Создание приложения AIR с помощью инструментов командной строки».
Состав пакета AIR SDK
В таблице ниже приводится описание файлов пакета AIR SDK:
AIR Debug Launcher (ADL) позволяет запустить приложение без предварительной упаковки и установки. Дополнительные сведения см. в разделе «AIR Debug Launcher (ADL)».
AIR Developer Tool (ADT) упаковывает приложение в AIR-файл для распространения. Дополнительные сведения об использовании инструмента см. в разделе «AIR Developer Tool (ADT)».
Каталог libs содержит библиотеки кодов, используемые в приложениях AIR.
Каталог projects содержит код для скомпилированных библиотек SWF и SWC.
Включенный каталог содержит файл заголовка на языке C для написания собственных расширений.
Каталог install содержит USB-драйверы Windows для устройств Android (эти драйверы Google предоставляет в составе пакета Android SDK).
Содержит код поддержки для инструментов AIR SDK.
Среда выполнения AIR для настольных компьютеров и мобильных устройств.
ADL использует среду выполнения на настольном компьютере для запуска приложений AIR до их распаковки или установки.
Среду выполнения AIR для Android (пакеты APK) можно устанавливать на устройства Android и в эмуляторы для разработки и тестирования. Отдельные пакеты APK используются для устройств и эмуляторов (общедоступную версию среды выполнения AIR for Android можно загрузить с Android Маркета).
В этой папке содержится пример файла дескриптора приложения, пример функции незаметной установки (badge.swf), а также значки приложения AIR по умолчанию.
descriptor-template.xml — шаблон файла дескриптора приложения, необходимого для каждого приложения AIR. Подробное описание файла дескриптора приложения см. в разделе «Файлы дескриптора приложения AIR».
В этом каталоге также расположены файлы схемы для XML-структуры дескриптора приложения для каждой рабочей версии AIR.
Настройка Flex SDK
Создать приложение Adobe® AIR® с помощью Adobe® Flex™ можно одним из следующих способов.
Можно загрузить и установить пакет Adobe® Flash® Builder™, в котором содержатся инструменты для создания проектов Adobe AIR, их проверки, отладки и упаковки приложений AIR. См. раздел «Создание первого настольного приложения Flex AIR с помощью Flash Builder».
Можно загрузить Adobe® Flex™ SDK и разрабатывать приложения Flex AIR с помощью привычного текстового редактора и инструментов командной строки.
Краткий обзор создания приложения AIR с помощью Flex SDK см. в разделе «Создание первого настольного приложения AIR с использованием пакета Flex SDK».
Установка Flex SDK
Примечание. Для запуска приложений AIR конечным пользователям устанавливать Java не требуется.В состав Flex SDK входят инструменты командной строки для упаковки, компиляции и отладки приложений AIR.
Распакуйте содержимое SDK в папку (например, во Flex SDK).
Скопируйте содержимое AIR SDK, заменив файлы в папке Flex SDK.
Примечание. На компьютерах Mac следует скопировать или заменить отдельные файлы в папках SDK, а не все каталоги. По умолчанию на Mac при копировании каталога в папку с таким же именем существующие файлы в целевом каталоге удаляются, то есть слияние двух каталогов не выполняется. Можно использовать команду ditto в окне терминала для объединения пакета AIR SDK с пакетом Flex SDK: ditto air_sdk_folder flex_sdk_folderИнструменты командной строки AIR находятся в папке bin.
Настройка внешних SDK
Чтобы приступить к разработке приложений для Android и iOS, необходимо загрузить файлы обеспечения, пакеты SDK и другие инструменты разработки, предоставляемые производителями платформы.
Дополнительные сведения по загрузке и установке Android SDK см. в разделе «Разработчики Android: установка SDK». Начиная с версии AIR 2.6 загружать Android SDK больше не требуется. AIR SDK теперь содержит базовые компоненты, необходимые для установки и запуска пакетов APK. Тем не менее, Android SDK можно использовать для выполнения различных задач разработки, включая создание и запуск программных эмуляторов и получение моментальных снимков экрана устройства.
Внешний SDK для разработки приложений для iOS не требуется. Однако необходимы специальные сертификаты и профили поставки. Дополнительные сведения см. в разделе Получение файлов разработчика у компании Apple.
На посты, размещаемые в Twitter™ и Facebook, условия Creative Commons не распространяются.
Чтобы быстро на практике продемонстрировать как работает Adobe® AIR®, используйте эти инструкции по созданию и упаковке простейшего HTML-приложения AIR «Hello World».
Для начала необходимо установить среду выполнения и настроить AIR SDK. Используются инструменты AIR Debug Launcher (ADL) и AIR Developer Tool (ADT), описанные в данном руководстве. ADL и ADT — это служебные программы, запускаемые из командной строки, которые можно найти в каталоге bin в пакете AIR SDK (см. раздел «Установка AIR SDK»). Предполагается, что читатель данного руководства уже знаком с тем, как запускать программы из командной строки и знает как настроить необходимые переменные пути в операционной системе.
Примечание. Если используется продукт Adobe® Dreamweaver®, ознакомьтесь с разделом «Создание первого HTML-приложения AIR с помощью Dreamweaver». Примечание. Приложения AIR на базе HTML могут быть разработаны только для профилей desktop и extendedDesktop. Мобильный профиль не поддерживается.Создание файлов проекта
В каждом HTML-приложении AIR содержатся следующие два файла: файл дескриптора приложения, определяющий метаданные приложения, и страница HTML верхнего уровня. В дополнение к этим обязательным файлам данный проект содержит файл с кодом JavaScript, AIRAliases.js , который определяет подходящие псевдонимы-переменные для классов прикладного интерфейса программирования AIR.
Создайте каталог с именем HelloWorld , в котором будут содержаться файлы проекта.
Создайте файл XML с именем HelloWorld-app.xml .
Создайте файл HTML с именем HelloWorld.html .
Скопируйте файл AIRAliases.js из папки frameworks в AIR SDK в каталог проекта.
Создание файла дескриптора приложения AIR
Чтобы приступить к разработке приложения AIR, создайте XML-файл дескриптора приложения со следующей структурой:
Откройте файл HelloWorld-app.xml для редактирования.
Добавьте корневой элемент <application> , включая атрибут пространства имен AIR:
<application xmlns="http://ns.adobe.com/air/application/2.7"> Последний сегмент пространства имен (2.7) указывает версию среды выполнения, которая требуется для приложения.
Добавьте элемент <id> :
<id>examples.html.HelloWorld</id> Идентификатор приложения однозначно идентифицирует приложение в сочетании с идентификатором издателя (который AIR извлекает из сертификата, используемого для подписи пакета приложения). Идентификатор приложения используется для установки, обращения к частному каталогу хранилища файловой системы приложения, доступа к частному зашифрованному хранилищу и взаимодействия между приложениями.
Добавьте элемент <versionNumber> :
<versionNumber>0.1</versionNumber> Помогает пользователям определить, какую версию приложения они устанавливают.
Примечание. Если используется AIR 2 или более ранней версии, необходимо использовать элемент <version> вместо элемента <versionNumber> .Добавьте элемент <filename> :
<filename>HelloWorld</filename> Имя, используемое для выполняемого файла приложения, каталога установки и других ссылок на приложение в операционной системе.
Добавьте элемент <initialWindow> , содержащий следующие дочерние элементы, чтобы указать свойства исходного окна приложения:
<content>HelloWorld.html</content> Указывает корневой HTML-файл приложения AIR для загрузки.
<visible>true</visible> Сразу делает окно видимым.
<width>400</width> Задает ширину окна (в пикселах).
<height>200</height> Задает высоту окна.
Сохраните файл. Завершенный файл дескриптора приложения должен выглядеть следующим образом.
В этом примере устанавливается всего несколько возможных свойств приложения. Полный набор свойств приложения, которые позволяют указывать такие аспекты как хром окна, размер окна, прозрачность, каталог установки по умолчанию, связанные типы файлов и значки приложения, см. в разделе «Файлы дескриптора приложения AIR».
Создание HTML-страницы приложения
Теперь необходимо создать простую HTML-страницу, которая будет выполнять роль основного файла приложения AIR.
Откройте файл HelloWorld.html для редактирования. Добавьте следующий код HTML:
В разделе <head> HTML, импортируйте файл AIRAliases.js :
AIR определяет свойство с именем runtime для объекта окна HTML. Свойство runtime обеспечивает доступ к встроенным классам AIR, используя полностью уточненное имя пакета для класса. Например, чтобы создать объект файла AIR, можно добавить следующую инструкцию в JavaScript:
Файл AIRAliases.js определяет подходящие псевдонимы для наиболее полезных прикладных программных интерфейсов AIR. Используя AIRAliases.js , можно укоротить ссылку на класс File следующим образом:
Ниже приведен тег скрипта AIRAliases, добавьте другой тег скрипта, содержащий функцию JavaScript для обработки события onLoad :
Файл HelloWorld.html должен выглядеть следующим образом:
Проверка приложения
Чтобы запустить и проверить приложение из командной строки, используйте утилиту AIR Debug Launcher (ADL). Исполняемый файл ADL можно найти в каталоге bin пакета AIR SDK. Если настройка AIR SDK еще не выполнена, см. раздел «Установка AIR SDK».
Откройте консоль управления или оболочку ОС. Перейдите в каталог, который создан для этого проекта.
Выполните следующую команду:
Дополнительные сведения см. в разделе «Файлы дескриптора приложения AIR».
Создание файла установки AIR
Если приложение успешно запущено, можно использовать утилиту ADT, чтобы упаковать приложение в файл установки AIR. Файл установки AIR — это файл архива, в котором содержаться все файлы приложения, которые можно передавать другим пользователям. Перед установкой такого упакованного файла AIR необходимо установить Adobe AIR.
Чтобы обеспечить защиту приложения, все файлы установки AIR должны содержать цифровую подпись. С помощью ADT или другого инструмента генерации сертификатов можно создать простой, самозаверяющий сертификат, используемый в целях разработки. Также можно приобрести коммерческий сертификат для подписывания кодов, выпущенный специальными органами сертификации, например компаниями VeriSign или Thawte. Если пользователь устанавливает файл AIR с самозаверяющим сертификатом, то в ходе процесса установки показывается «неизвестный» издатель. Это объясняется тем, что самозаверяющие сертификаты гарантируют лишь то, что файл AIR не изменялся с момента своего создания. Ничто не сможет помешать злоумышленнику сделать файл AIR с самозаверяющим сертификатом и представить его как ваше приложение. Поэтому в выпускаемых для широкого использования файлах AIR рекомендуется использовать обеспечивающие возможность проверки коммерческие сертификаты. Краткие сведения о проблемах системы защиты AIR см. в разделе Система защиты AIR (для разработчиков ActionScript) или Система защиты AIR (для разработчиков HTML).
Создание самозаверяющих подписывающих сертификатов и пары ключей
ADT создает файл хранения ключа с именем sampleCert.pfx, содержащий сертификат и связанный личный ключ.
Создание файла установки AIR
Будет выдано предложение ввести пароль для файла ключей.
Аргумент HelloWorld.air — это файл AIR, создаваемый ADT. HelloWorld-app.xml — это файл дескриптора приложения. Последующими аргументами являются файлы, используемые приложением. В этом примере используется только два файла, но можно включить в проект любое число файлов и каталогов. ADT проверяет, что главный файл с содержимым HelloWorld.html включен в пакет. Однако если вы забудете включить файл AIRAliases.js, приложение не будет работать.
После создания пакета AIR можно установить и выполнить приложение, дважды щелкнув этот упакованный файл. Также можно ввести имя файла AIR, используя команду в оболочке ОС или консоль управления.
Следующие шаги
В приложении AIR коды HTML и JavaScript обычно выполняются так же, как и в стандартном веб-обозревателе. (Действительно, AIR использует тот же механизм визуализации WebKit, который применяется веб-обозревателем Safari.) Однако существует несколько важных отличий, которые необходимо учитывать при разработке HTML-приложения в AIR. Дополнительные сведения об этих различиях, а также другие полезные сведения см. в разделе Программирование HTML и JavaScript.
На посты, размещаемые в Twitter™ и Facebook, условия Creative Commons не распространяются.
Сегодня нам бы хотелось немного рассказать о частном случае применения технологии flash в версии Adobe Flash CS6 + Adobe Air SDK 3.5 для разработки iOS/Adnroid приложения, описанного в нашем предыдущем посте.
С технической точки зрения, это приложение воспроизводит набор звуков, анимаций, управляемых акселерометром, позволяет сохранять записанный звук. Позволяет совершать запросы к API распространённых социальных сетей — например, «написать о приложении на стене» (поскольку приложение на русском языке, нас в первую очередь интересовали Facebook и Вконтакте), и сохранять информацию о действиях пользователя в приложении в базу данных. Поддерживает встроенные покупки в App Store и Google Play.
Технология Adobe Air позволяет различными средствами реализовать все описанные выше функции.
Подгрузка и воспроизведение mp3-файлов — с помощью средств пакета flash.media.
Анимации с акселерометром — с помощью пакета flash.sensors.Accelerometer.
При записи и сохранении звука мы столкнулись с тем, что класс Microphone от Adobe Air возвращает в SampleDataEvent сырые данные. Получается 6 Мб в минуту. Для их кодирования можно использовать библиотеку ShineMP3Encoder (автор Gabriel Bouvigne). Работает, правда, долго. Минутный трек кодируется секунд 15 на iPad3, к примеру.
А вот на Android производительность вполне приличная.
Все крупные социальные сети предоставляет разработчикам библиотеки для работы с их API. Чаще всего они написаны на нативе. К счастью, во flash существует механизм native extensions, расширяющий функциональность Adobe Air за счёт подключения компонент, написанных не на as3.
Их можно купить в разных местах, в том числе прямо у Adobe для некоторых задач. Например, для Facebook такая компонента есть,
а для ВКонтакте нет, очевидно вследствие его малоизвестности за пределами России.
Встроенные покупки есть, а определение device id или Mac устройств, которые зачастую используются как идентификатор пользователя в системе сбора статистики, нет. Эту функциональность необходимо реализовывать самостоятельно с помощью механизма Native Extension.
Несколько слов о качестве графики.
Интуитивно понятно, что идеальное качество графики будет, если разрешение растровой картинки совпадает с разрешением экрана устройства. Но есть сложность — приложение запускается на устройствах с разными характеристиками экрана. Для iOS ещё можно сделать наборы картинок и подставлять их в зависимости от типа устройства (ну, 5-6 наборов картинок). Конечно, это утяжеляет приложение. Ещё сложнее дело обстоит с многообразными устройствами на базе Android. Эта проблема и способы её решения прекрасно известна разработчикам iOS/Android, можно упомянуть только о специфическом для Adobe Air способе решения.
Adobe Flash — мощный редактор векторной графики. Можно было бы предположить, что отрисованный во Flash вектор корректно отмасштабируется на любой размер экрана, но увы, качество графики оставляет желать лучшего. Да и с нагрузкой на процессор от векторной анимации бывают сложности. Эмпирическим путём установлено, что импорт растровой графики с настройкой Allow Smoothing даёт оптимальный результат. Действительно, Adobe Air сглаживает с приличным качеством, и не нужно 5 наборов картинок. Не забываем выставить Resolution High в настройках публикации проекта.
Как это ни странно звучит, в этом случае приходится рисовать в векторном редакторе графику, потом её растеризовать и импортировать обратно. Вообще Adobe Flash предоставляет ряд механизмов обеспечения процесса растеризации, начиная со Sprite Sheets и заканчивая blitting.
Несколько слов про размеры сцены для iOS. Если нецелесообразно кастомизировать интерфейс отдельно для iPhone и iPad, можно сделать базовый размер сцены под iPhone — 960 на 640, соответственно получив вертикальные «уши» на iPad и горизонтальные на iPhone 5 (при Aspect Ratio Landscape, конечно). Для Android с его безумным многообразием устройств оптимальный размер сцены выбрать настолько сложно, что можно оставить 960 на 640, хотя это, видимо, не оптимальное соотношение высота/ширина экрана для Android-устройств.
В этом приложении не было больших анимаций и видео, поэтому с оптимизацией быстродействия воевать не пришлось.
Приложение, о котором шла речь, было реализовано одним программистом за две рабочие недели (программная часть). 4088 строчек кода на as3. Анимации рисовали дольше. И портировано на Android за пару часов — добавили кнопку «закрыть приложение», для которой в iOS нет места, перебили ссылки, поменяли интерфейс встроенных платежей и настройки публикации.
Честно говоря, глядя на то, что получилось, о выборе технологии особо не жалеем. О качестве, конечно, судить пользователям, но пока что отзывы хорошие.
Будем благодарны за любую конструктивную критику и хорошие идеи.
C вами был главный программист Online Science Classroom, Михаил Стеценко. Удачи!
Читайте также: