LIFE.Flex » Что такое AIR?


Что такое AIR?

Что такое AIR?

AIR - это технология, разработанная Adobe, предназначенная для разработчиков, которые разрабатывают RIA-приложения (Rich Internet Application) для десктоп. AIR-приложение обладает всем необходимым функционалом, для создание RIA, например таким как - доступ к файловой системой, управление окнами, поддержка drag-and-drop и др.

В роли оболочки AIR приложения, может выступать, как Flash/Flex приложение или HTML с JavaScript. Или все вместе сразу.

AIR - расшифровывается как Adobe Integrated Runtime и является специфичным плеером (с расширенным набором функций) для вашего, допустим, Flash/Flex приложения. Немалым преимуществом AIR является кроссплатформенность. Т.е. ваше приложение (его расширение .air) может без проблем запускаться, практически под любой операционной системой - Windows, OS X, Linux (с учетом того, что на компьютере пользователя установлен AIR).
Скачать AIR вы можете прямо сейчас.

AIR приложение - по своей сути является архивом. В этом архиве может быть и SWF и HTML и JavaScript. А AIR - это некий контейнер, который обеспечивает доп. функционал файлам, упакованным в AIR-приложение. В обычном браузере, или Flash-плеере - такого функционала, естественно не было бы.

Что бы запустить в AIR - HTML или SWF приложение, необходим так называемый файл-descriptor. Файл-descriptor - это XML файл, в котором описываются основные свойства приложения. Например, такие как - название и автор приложения, размеры окна, иконки. Без этого файла AIR приложение работать не сможет.

AIR SDK

Для разработки AIR приложений вам необходим AIR SDK (Software Development Kit).
AIR SDK состоит из следующих компонентов:

  • AIR runtime
  • Пример XML файла (файл-descriptor)
  • ADT - для создания инсталлятора (файлов с расширением .air)
  • ADL - для запуска AIR приложений, без установки

ADL - AIR Debug Launcher, является ключевым компонентом в AIR SDK. Именно с помощью него вы тестируете AIR приложение, перед финальным релизом. После того как приложение создано и протестировано вы можете создавать инсталлятор для массового распространения, с помощью ADT.

Мое первое AIR приложение - Hello World

Приложение Hello World я является первым приложением, при изучении нового языка или технологии. Мы не будем исключением. Создадим AIR-приложение Hello World
Что для этого нужно:

  • Adobe AIR SDK (Скачать).
  • Любой текстовый редактор

Устанавливать AIR SDK не нужно. Просто распакуйте его в удобное для вас место.

Кстати, заметьте что AIR SDK (как и AIR Runtime) в данное время находятся в бете (уже beta 2) и в последующих релизах, возможны изменения, и у вас могут возникнуть некторые сложности при обновлении приложений. Но как показывает практика, переход с беты на бету - практически безболезнен.

Создадим папку, где будут находится все файлы нашего приложения.
В текстовом редакторе создадим файл hello.txt с текстом Hello World!

Ради простоты примера, мы не используем сложный контент, типа SWF иди HTML. Наша цель - простейшее AIR приложение.

Теперь создадим XML файл (application.xml):

  1. <?xml version='1.0' encoding='utf-8'?>
  2. <application
  3. appId="HelloWorld"
  4. version="1"
  5. xmlns="http://ns.adobe.com/air/application/1.0.M4">
  6. <name>Hello World! in AIR</name>
  7. <rootContent>hello.txt</rootContent>
  8. </application>



Этот файл тоже очень простой. Мы уже говорили про файл-descriptor, а application.xml как раз им и является. При более сложном приложение этот файл гораздо объемнее.

Корнем XML файла является тег application . В теле этого тега описывается вся необходимая информация AIR приложения. В данный момент у нас три свойства appID, version и xmlns

appID - это идентификатор AIR приложения. Довольно часто, в качестве идентификатора, разработчики используют доменное имя, для уникальности идентификатора. Например мы могли бы использовать следущее appID - com.example.HelloWorld.

version* - версия приложения. Если ваше приложение постоянно обновляется, то это свойство вам будет полезно.

xmlns - xmlns свойство в XML определяет так называемый namespace (пространство имен). В AIR приложении элемент application и все остальные атрибуты используют namespace доступное по URI (http://ns.adobe.com/air/application/1.0.M4). URI - уникально и его использует AIR Runtime для запуска приложений.

* Данное свойство не нужно для запуска AIR приложения через ADL, но необходимо при использовании ADT

Два необходимых элемента в теге application - это name и rootContent

  1. <name>Hello World! in AIR</name>



Name - отвечает за имя (титл) вашего приложения. Оно будет фигурировать в титле окна, в task баре, в system tree, вообщем везде где возможно.

  1. <rootContent>hello.txt</rootContent>



rootContent - ссылается на файл, который является основным у приложения, в данном примере файл hello.txt. Повторюсь, в качестве rootContent - может быть не только текстовый файл, но SWF или HTML.

В принципе, для компиляции приложения у нас все готово. Для тестового запуска мы воспользуемся ADL.

  • В папке, где вы разместили AIR SDK, откройте папку bin. Нам нужны два файла adl.exe и adt.bat.
  • Перетащите application.xml на adl.exe и все! AIR приложение запущено

Теперь, когда приложение запустилось и работает без ошибок (в принципе не удивительно, всего один текстовый файл), создадим инсталлятор.

Для этого нам нужен ADT - приложение, которое работает через командную строку. Для работы с ADT необходимо установить Java runtime. Формат компиляции через ADT примерно такой:

  1. adt -package <name of .air file to create> <location of application XML> <files to include>



Но обо всем по порядку.

  • Откройте командную строку
  • Укажите путь к приложению Hello World
  • Далее необходимо указать путь к SDK (кстати, можно просто перетащить ADT в командную строку, так получится гораздо быстрее, чем вручную указывать путь к файлу)
  • После этого напишите следущее:
  1. -package helloWorldIn.air application.xml hello.txt



Или например как прописать полный путь:

  1. C:\air_sdk_b1\bin\adt.bat -package helloWorldIn.air application.xml hello.txt



Все. Жмем Enter. ADT скомипилирует файл helloWorldIn.air, в директории с вашим приложением.

Теперь наше AIR-приложение создано. С чем я вас и поздравляю :)
В этом примере мы создали простейшее приложение, но я думаю, вы догадываетесь, что функционал AIR-приложения гораздо шире.

Давайте по пунктам, перечислим все основные фичи AIR:

  • File I/O API
  • Включена база данных SQLite
  • Весь функционал Flash Player 9
  • Windowing API
  • HTML в Flash
  • Полнофункциональный HTML
  • Связь между ActionScript3 и JavaScript
  • Flex Builder и Flex Framework поддерживают AIR приложения
  • Поддержка drag-and-drop
  • Поддержка буфера обмена
  • Menu API для Mac (в бэте)
  • Взаимодействие с файловой системой
  • Ассоциация с типами файлов
  • Иконки приложения
  • Поддержка PDF

Удачной разработки ;)

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Popularity: 28% [?]



(10) Комментариев

  1. 2morrowMan on November 1st, 2007

    Видимо вам только и “Hello World” писать! Так как вы даже не знаете как правильно расшифровываеться SDK!
    Ну я хоть поржал: SDK - Source Development Kit - жжошь автор!!!

  2. SHAGGYSMILE on November 1st, 2007

    ну я бы не стал так категорично утверждать про Hello World - это обычная опечатка, с кем не бывает.

  3. 2morrowMan on November 1st, 2007

    ОК, зато смешно было! :)

  4. SHAGGYSMILE on November 2nd, 2007

    согласен :)

  5. Сергей on November 8th, 2007

    Под Linux Фвщиу Air все еще не появился и не понятно появится ли.

  6. varyous on November 11th, 2007

    2SHAGGYSMILE, 2morrowMan - а я вот над вами посмеялся LOL ….
    у автора то правильная расшифровка - SDK это именно Software Development Kit, а не что иное .

  7. r.dee on November 21st, 2007

    http://en.wikipedia.org/wiki/Sdk

    RTFM, 2MorrowMan ;)

  8. Silverghost on January 11th, 2008

    эм… а можно уточнить процесс создания Hello World приложения для 3й беты Эйра? Скачал СДК, а работать не получается :(
    Либо я не понял вышеприведенную инструкцию, лиюю там что-то поменялось. Помогите, пожалуйста.

  9. Silverghost on January 12th, 2008

    Уже разобрался. Другая структура тегов. В частности:

  10. marvell on May 16th, 2008

    Спасибо, хорошая статья!

Оставить комментарий