Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Авторские статьи (https://forum.antichat.xyz/forumdisplay.php?f=31)
-   -   Простейшее клиент-серверное приложение на Adobe Air (https://forum.antichat.xyz/showthread.php?t=74322)

inlanger 20.06.2008 02:55

Простейшее клиент-серверное приложение на Adobe Air
 
http://www.crunchgear.com/wp-content.../adobe_air.jpg

Вступление…

На днях заинтересовался такой штукой, как 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 приложение работать не сможет.
http://lifeflex.shaggysmile.com/wp-c...pplication.png
Для того, чтобы написать клиент-серверное приложение нам для начала необходима серверная часть. Я не стал долго выдумывать и скачал первый попавшийся по поиску чат. Немного заточив под себя(в нём не работал русский язык, и др. мелочи), я его выложил сюда: скачать
Настройка чата: залейте папку с чатом к себе на сервер, на файл с сообщениями поставьте права 777.
Теперь о самом приложении…
Создаём папку, в которой будут находиться наши исходники. Первый файл назовём chat-app.xml, и напишем ему такое содержимое:
Код:

<?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…

Начиная с новой версии необходимо получить сертификат. Это делается так(командная строка):
Код:

Путь к файлу bin\adt.bat -certificate -cn SelfSigned 1024-RSA sampleCert.pfx Любой_пароль
Создаем установочный пакет(нужно находится в папке с нашими файлами):
Код:

Путь к файлу bin\adt.bat  -package -storetype pkcs12 -keystore sampleCert.pfx chat.air chat-app.xml index.html AIRAliases.js bg.gif button.gif
То есть, сначала задаём жизненно важные параметры, а потом через пробел добавляем в пакет файлы.
Потом пишем свой пароль от сертификата и всё. Наш установочный пакет готов!
http://inlanger.org.ua/cmd.gif

Я понимаю, что в одной статье много не расскажешь, но дать понять что это такое и как с ним работать можно. Как я вижу развитие технологии AIR на античате? Хм…кроссплатформенные ICQ флудеры, программа управления ICQ ботом, приложение-клиент к социальным сетям…Можно найти огромное количество применений этой технологий, а народ на ачате у нас с фантазией. Если кто не верит, что на ЭТОМ можно создать что-нибудь стоящее, посмотрите на этот обзор: ссылка Всем спасибо, кто читал статью. Кто не хочет попробовать сам, вот ссылка на скомпилированое приложение: скачать
Ваш inlanger

NaX[no]rT 20.06.2008 06:02

Чёт никуя из прочтённого не понял =/ растроен.
Уважаемый, на статью это не тянет ну никак. Слишком много нераскрытых вопросов, что/откуда/зачем берётся.
Если Вас пуг(к)ает большой объём статьи - ничего страшного, т.к. можно разбить на несколько постов.

inlanger 20.06.2008 12:08

NaX[no]r†, напишите, что именно Вам не понятно. И вместе мы доделаем статью так, чтоб все поняли.

satana8920 20.06.2008 13:33

совершенно согласен с NaX[no]r†
ничо не понял

inlanger 20.06.2008 14:43

Цитата:

ничо не понял
а конкретнее? Как по мне, так такая фраза - это равносильно "многабукафниасилил"

bxN5 20.06.2008 15:04

мм , чтот я не понял задума этой фишки, чем обычный браузер не угодил как клиент?

inlanger 20.06.2008 15:08

Те есть, все проги что работают с инетом не нужны? Можно же всё браузером делать...

bxN5 20.06.2008 15:51

то что ты перечислил флеш яс хтмл отлично работает в браузере, нахрен велосипед придумывать

Talisman 20.06.2008 16:20

Прикрепи сюда статью из хакера: Adobe AIR от марта сего года(номер 111)
половина вопросов отпадет ;)


Время: 02:51