29 июн. 2008 г.

Что такое AIR?

LLL M TT

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



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