Авторские статьи Простейшее клиент-серверное приложение на Adobe Air

Discussion in 'Статьи' started by inlanger, 20 Jun 2008.

  1. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    [​IMG]

    Вступление…

    На днях заинтересовался такой штукой, как Adobe AIR. Это технология, разработанная Adobe, предназначенная для разработчиков, которые разрабатывают RIA-приложения (Rich Internet Application) для десктоп. AIR-приложение обладает всем необходимым функционалом, для создание RIA, например таким как - доступ к файловой системой, управление окнами, поддержка drag-and-drop и др.
    В роли оболочки AIR приложения, может выступать, как Flash/Flex приложение или HTML с JavaScript. Или все вместе сразу.
    AIR - расшифровывается как Adobe Integrated Runtime и является специфичным плеером (с расширенным набором функций) для вашего, допустим, Flash/Flex приложения. Немалым преимуществом AIR является кроссплатформенность.

    Просидев несколько часов за компьютером я создал своё первое кроссплатформенное клиент-серверное приложение. Моя фантазия мне подсказала сделать чат. Обычный яакс чат. Но вот с клиентом для компьютера. Такое уже видели? Ну и что, надо же на чём-то учиться…

    Первые шаги с AIR

    Чтобы работали AIR программы нужно установить специальный пакет, который можно скачать тут: скачать
    Для того, чтобы писать под AIR нужно скачать SDK: скачать
    Приступим к созданию самого приложения…
    AIR приложение – это архив, в котором могутт содержаться и SWF и HTML и JavaScript файлы. А AIR - это некий контейнер, который обеспечивает доп.полнительный функционал файлам, упакованным в AIR-приложение.
    Что бы запустить в AIR - HTML или SWF приложение, необходим так называемый файл-descriptor. Файл-descriptor - это XML файл, в котором находятся основные свойства приложения, такие как - название и автор приложения, размеры окна, иконки. Без этого файла AIR приложение работать не сможет.
    [​IMG]
    Для того, чтобы написать клиент-серверное приложение нам для начала необходима серверная часть. Я не стал долго выдумывать и скачал первый попавшийся по поиску чат. Немного заточив под себя(в нём не работал русский язык, и др. мелочи), я его выложил сюда: скачать
    Настройка чата: залейте папку с чатом к себе на сервер, на файл с сообщениями поставьте права 777.
    Теперь о самом приложении…
    Создаём папку, в которой будут находиться наши исходники. Первый файл назовём chat-app.xml, и напишем ему такое содержимое:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <application xmlns="http://ns.adobe.com/air/application/1.0">
        <id>examples.html.chat</id>
        <version>0.1</version>
        <filename>simple AIR app by inlanger</filename>
        <initialWindow>
            <content>index.html</content>
            <visible>true</visible>
            <width>320</width>
            <height>515</height>
        </initialWindow>
    </application>
    Это чистый XML, и по названиям тегов вполне можно понять зачем они. Далее основное окно программы index.html:

    HTML:
    <html>
    <head>
    <script type="text/javascript" src="AIRAliases.js"></script>
    <script type="text/javascript">
            function appLoad(){
                air.trace("AIR chat");
            }
    </script>
      <title>created by inlanger</title>
    
    </head>
      <body onLoad="appLoad()" background=bg.gif>
      <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
      <center>
    <a href=http://inlanger.org.ua/chat/><img src=button.gif></a>
      </center>
    </body>
    </html>
    Тут тоже всё понятно – чистый HTML с javascript функцией (я пока сам не понял зачем она, но в хелоуворд приложении её посоветовали вставить).
    Как видно в коде, это страница со ссылкой на наш чат. Так же добавляем в нашу папку картинки bg.gif и button.gif. Естественно, возможностей AIR хватило бы на супер красиво оформление с полупрозрачными окошками и т.д, но это не для первой статьи .
    Так же нам необходим AIRAliases.js, который находится в архиве с SDK в папке frameworks.
    В общим, полный набор исходников лежит тут: скачать
    Теперь в любую папку распаковываем наш SDK. Работать с ним довольно просто. Для того, чтобы запустить приложение AIR достаточно его дескриптор(xml файл), перетащить на adl.exe, который лежит в папке bin. Если приложение рабочее, оно запустится.

    Теперь создание установочных пакетов AIR…

    Начиная с новой версии необходимо получить сертификат. Это делается так(командная строка):
    Code:
    Путь к файлу bin\adt.bat -certificate -cn SelfSigned 1024-RSA sampleCert.pfx Любой_пароль
    Создаем установочный пакет(нужно находится в папке с нашими файлами):
    Code:
    Путь к файлу bin\adt.bat  -package -storetype pkcs12 -keystore sampleCert.pfx chat.air chat-app.xml index.html AIRAliases.js bg.gif button.gif
    То есть, сначала задаём жизненно важные параметры, а потом через пробел добавляем в пакет файлы.
    Потом пишем свой пароль от сертификата и всё. Наш установочный пакет готов!
    [​IMG]

    Я понимаю, что в одной статье много не расскажешь, но дать понять что это такое и как с ним работать можно. Как я вижу развитие технологии AIR на античате? Хм…кроссплатформенные ICQ флудеры, программа управления ICQ ботом, приложение-клиент к социальным сетям…Можно найти огромное количество применений этой технологий, а народ на ачате у нас с фантазией. Если кто не верит, что на ЭТОМ можно создать что-нибудь стоящее, посмотрите на этот обзор: ссылка Всем спасибо, кто читал статью. Кто не хочет попробовать сам, вот ссылка на скомпилированое приложение: скачать
    Ваш inlanger
     
    #1 inlanger, 20 Jun 2008
    Last edited: 20 Jun 2008
    3 people like this.
  2. NaX[no]rT

    NaX[no]rT Members of Antichat

    Joined:
    3 Sep 2005
    Messages:
    489
    Likes Received:
    201
    Reputations:
    202
    Чёт никуя из прочтённого не понял =/ растроен.
    Уважаемый, на статью это не тянет ну никак. Слишком много нераскрытых вопросов, что/откуда/зачем берётся.
    Если Вас пуг(к)ает большой объём статьи - ничего страшного, т.к. можно разбить на несколько постов.
     
    _________________________
  3. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    NaX[no]r†, напишите, что именно Вам не понятно. И вместе мы доделаем статью так, чтоб все поняли.
     
  4. satana8920

    satana8920 Палач Античата

    Joined:
    22 Sep 2006
    Messages:
    396
    Likes Received:
    138
    Reputations:
    6
    совершенно согласен с NaX[no]r†
    ничо не понял
     
  5. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    а конкретнее? Как по мне, так такая фраза - это равносильно "многабукафниасилил"
     
  6. bxN5

    bxN5 Elder - Старейшина

    Joined:
    8 Jan 2006
    Messages:
    687
    Likes Received:
    138
    Reputations:
    32
    мм , чтот я не понял задума этой фишки, чем обычный браузер не угодил как клиент?
     
  7. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Те есть, все проги что работают с инетом не нужны? Можно же всё браузером делать...
     
  8. bxN5

    bxN5 Elder - Старейшина

    Joined:
    8 Jan 2006
    Messages:
    687
    Likes Received:
    138
    Reputations:
    32
    то что ты перечислил флеш яс хтмл отлично работает в браузере, нахрен велосипед придумывать
     
  9. Talisman

    Talisman Elder - Старейшина

    Joined:
    22 Apr 2006
    Messages:
    400
    Likes Received:
    151
    Reputations:
    80
    Прикрепи сюда статью из хакера: Adobe AIR от марта сего года(номер 111)
    половина вопросов отпадет ;)
     
    1 person likes this.