User's collector

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

Хорошие люди попросили разместить объявление, что я и сделал. :)

В компанию «Датэк» для работы над проектом «COMDI» требуются хорошие программисты:

Flex/Flash программист

  • Хорошее знание ActionScript3, Flex.
  • Опыт разработки полноценных веб-приложений
  • Желателен опыт работы с медиа серверами (FMS, Wowza).

JAVA программист

  • Опыт разработки апплетов, работа с изображениями.
  • Желательно, опыт работы с JNI.
  • Необходимо представление о работе WinAPI, cетевых протоколах, желательно P2P.
  • Придется разрабатывать системы скриншаринга, удаленного управления рабочим столом, работа с веб-камерами, p2p соединения и т.д.

Работа постоянная в современном офисе, в районе ВДНХ. Уровень ЗП – 70,000-100,000.
Резюме присылайте на egor.voronin@gmail.com

Комментариев нет

Теги:

Если кто не в курсе, то уже почти месяц как Intellij Idea 9 имеет возможность просмотра UML-диаграмм для ActionScript и Flex классов, а это значит, что у нас есть возможность анализировать код своих Flex проектов при помощи UML диаграм классов.

2 комментария

Теги:

Давно хотел написать об этом, да все руки не доходили… На сайте JetBrains доступны два четыре относительно новых видеоурока, касающихся поддержки Flex в Intellij IDEA:

  1. «„Hello Flex“ with Intellij IDEA».
  2. «How to configure an Intellij IDEA project for creating a multilingual Flex application».
  3. «Advanced Flex Support in IDEA 8».
  4. «Working with BlaseDS».

Кстати, сам не проверял, но, насколько мне известно, начиная с версии 8.1.1 в IDEA появилась поддержка встраиваемой ASDoc-документации.

P.S.: с Днем Победы вас!

UPDATE: В список добавлены еще 2 урока. Спасибо nicity за информацию.

9 комментариев

Теги:

Оказывается, в продаже появились две новые книги по Flex и AIR на русском языке, которые я сегодня благополучно заказал для себя на Books.ru.

Первая книга называется «Adobe AIR. Практическое руководство по среде для настольных приложений Flash и Flex». Оригинальное название на английском звучит как «Adobe AIR in Action». Это небольшая по объему (всего 350 страниц) книга, в которой речь, как я понимаю, идет о версии 1.0 среды AIR. В виду полного отсутствия каких-либо других книг по AIR на русском языке, я считаю, что это издание является «must have» для разработчиков AIR приложений. Тем более что отличия между версиями 1.0 и 1.5 среды AIR не столь значительны, чтобы информация в книге оказалась устаревшей (в основном эти изменения связанны с внедрением совместимости с Flash Player 10).

К слову сказать, книги из серии «… in action» уже давно зарекомендовали себя среди программистов, как лучшие практические издания по конкретным тематикам. Научным редактором перевода, насколько мне известно, является Михаил Антипин. Так что, скорее всего нас ожидает интересное содержание в хорошем качестве перевода.

Вторая книга называется «Программирование c использованием Adobe Flex». Она толще, чем предыдущая – объемом в 570 страниц. В книге описываются приемы работы со второй версией Flex фреймворка. Опять же никаких кардинальных изменений между версиями 2 и 3 Flex не было, так что информация, содержащаяся в книге, все еще актуальна. Неактуальной информация будет для вас только в том случае, если вы сразу решили изучать Flex 4 Gumbo, который в настоящий момент находится в состоянии alpha-версии. Но стоит эта книга немало – более 800 рублей, которые, тем не менее, с лихвой окупятся, если воспользоваться полученными из книги знаниями.

Что ж, друзья, меня, несомненно, радует, что книг на русском языке о технологиях, которыми мы тут с вами занимаемся, становится все больше и больше. Радует, что постепенно сокращаются промежутки между выходом оригинальных англоязычных изданий и появлением их русских переводов.

Осталось еще дождаться выходящей в январе книги «Learning Flex 3. Getting up to Speed with Rich Internet Applications». Да и не помешало бы заиметь чуть больше свободного времени, чтобы успеть быстрее все это прочитать. :)

9 комментариев

Теги:

Тот, кто работал с Flex Framework, обязательно должен был столкнуться в нем с такой замечательной функциональностью, как связывание данных (Data Binding). Наверняка, есть разработчики, желающие более глубоко изучить эту тему. И тут, как нельзя кстати, будет статья «Flex Data Binding Tricks» на русском языке от пользователя oss на Хабрахабре.

В этой статье очень подробно рассматриваются методы работы со связыванием данных при помощи ActionScrit 3. Так что, удачного вам чтения. И еще: не называйте, пожалуйста, байндинг биндингом. =)

Один комментарий

Теги:

Признаюсь честно, в последнее время я писал статью о том, как разрабатывать Flex-приложения при помощи InlelliJ IDEA. Но сейчас я сомневаюсь, стоит ли мне продолжать, поскольку понимаю, что написать статью, наполненную большей любовью к этой среде разработки, чем ее написал пользователь Develar на Хабрахабре, в настоящий момент я не смогу. =)

Поэтому сейчас я отсылаю вас к статье «Разработка на Flex в IntellliJ IDEA с использованием maven». Не жалейте на знакомство со статьей свое время — IDEA восполнит его вам сторицей. Ну а сам я все же сконцентрируюсь на неосвещенных в статье вопросах: интеграции с Apache Ant, рефакторингах, автогенерации кода и горячих клавишах.

Один комментарий

Теги:
4 января 2008

Бета-релиз Degrafa

Degrafa framework — это декларативный графический фреймворк, имеющий продвинутую поддержу CSS, позволяющий при помощи MXML-разметки рисовать геометрические фигуры, сложную составную графику, создавать скины.

В качестве примера приведу MXML-код, который прорисовывает круг с голубой заливкой и белым контуром:

XML:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx :Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.                 layout="absolute"
  4.                 backgroundGradientColors="[#333333, #222222]"
  5.                 xmlns:degrafa="com.degrafa.*"
  6.                 xmlns:paint="com.degrafa.paint.*"
  7.                 xmlns:geometry="com.degrafa.geometry.*" viewSourceURL="srcview/index.html">
  8.  
  9.     <degrafa :Surface verticalCenter="0"
  10.                      horizontalCenter="0">
  11.  
  12.         <!-- Создаем заливку. -->
  13.         </degrafa><degrafa :fills>
  14.             <paint :SolidFill id="blue"
  15.                                 color="#62ABCD"/>
  16.         </degrafa>
  17.  
  18.         <!-- Создаем обводку. -->
  19.         <degrafa :strokes>
  20.  
  21.             <paint :SolidStroke id="white"
  22.                                 color="#FFFFFF"
  23.                                 alpha="1"
  24.                                 weight="3"/>
  25.  
  26.         </degrafa>
  27.  
  28.         <!-- Создаем геометрическую группу. -->
  29.         <degrafa :GeometryGroup>
  30.  
  31.             <!-- Создаем круг. -->
  32.             <geometry :Circle fill="{blue}"
  33.                                 stroke="{white}"
  34.                                 radius="150"/>
  35.  
  36.         </degrafa>
  37.  
  38.    
  39. </mx>

Ссылки по теме:

9 комментариев

Теги:

Те из вас, кто собирает свои as3 приложения с помощью mxmlc знакомы с метатэгом [Embed], который используется для внедрения внешних ресурсов в конечный swf. Среди поддерживаемых mxmlc типов внедряемых ресурсов присутствуют файлы изображения (JPG, JPEG, PNG и SVG), swf файлы, символы из swf файлов, mp3 файлы, файлы системных и TrueType шрифтов. Но не все знают, что с помощью [Embed] можно внедрить любой файл в виде байтовой последовательности.
Как вы знаете включение ресурсов возможно как на уровне свойства так и на уровне класса. Это справедливо и для файлов, которые мы включаем в виде байтовой последовательности. В примере ниже мы включаем в наш клип текстовый файл на уровне свойства (обратите внимание на дополнительный параметр mimeType, именно он сообщает mxmlc, что мы хотим включить файл как байтовую последовательность):

Actionscript:
  1. [Embed(source="readme.txt", mimeType="application/octet-stream")]
  2. public var Readme:Class;

Если вы хотите включить свой файл на уровне класса то вы должны будете наследоваться от mx.core.ByteArrayAsset:

Actionscript:
  1. package
  2. {
  3.     import mx.core.ByteArrayAsset;
  4.    
  5.     [Embed(source="readme.txt", mimeType="application/octet-stream")]
  6.     public class Readme extends ByteArrayAsset {}
  7. }

После этого, чтобы создать экземепляр класса нашего включенного файла просто вызываем конструктор:

Actionscript:
  1. var readme:ByteArrayAsset = new Readme(); // для уровня свойства
  2. var readme:Readme = new Readme(); // для уровня класса

Так как в любом случае наш ресурс является наследником или экземпляром ByteArrayAsset, который в свою очередь расширяет ByteArray, то мы можем использовать все методы последнего. Например, прочитать содержимое текстового файла из нашего примера можно так:

Actionscript:
  1. var readmeContent:String = readme.readUTFBytes(readme.length);

В бинарном виде вы можете включать и файлы поддерживаемых типов. Например, вы можете включить другой swf в виде последовательности байтов, после чего можно внести swf в список видимых объектов или получить доступ к его внутренним ресурсам, предварительно использовав Loader:

Actionscript:
  1. package
  2. {
  3.     import flash.display.Loader;
  4.     import flash.display.Sprite;
  5.     import flash.events.Event;
  6.    
  7.     public class EmbedResourceExample extends Sprite
  8.     {
  9.         [Embed(source="assets/resources.swf", mimeType="application/octet-stream")]
  10.         private var Resources:Class;
  11.        
  12.         public function EmbedResourceExample ()
  13.         {
  14.             var loader:Loader = new Loader();
  15.             // Подписываемся на событие INIT, после которого
  16.             // мы получим доступ к классам внутри включенного swf
  17.             loader.contentLoaderInfo.addEventListener(Event.INIT, resourceInitHandler);
  18.             // Загружаем swf как байтовую последовательность
  19.             loader.loadBytes(new Resources());
  20.         }
  21.        
  22.         private function resourceInitHandler (e:Event):void
  23.         {
  24.             // Извлекаем и создаем экземпляр класса из включенного swf
  25.             var SomeClass:Class = e.target.content.loaderInfo.applicationDomain.getDefinition("SomeClass") as Class;
  26.             var someClass:Object = new SomeClass();
  27.         }
  28.     }
  29. }

Пожалуй на этом все.
Напоследок хочу отметить, что метатэг [Embed] не распознается flash compiler и включить тот же текстовый файл в swf силами Flash IDE не получится.
Удачи!

7 комментариев

Теги:

Изначально AIR (Apollo) не имеет возможностей по работе с внешней базой данных «напрямую», о чем написано в Apollo DeveloperFAQ, однако там же сказано, что такие возможности можно получить написав соответсвующий драйвер, доказательством чего стал asSQL — as-драйвер для работы с MySQL, написанный Мэттом МакЛином (Matt MacLean).
На странице проекта вы можете посмотреть на примеры использования asSQL, ознакомиться с документацией, а также скачать сам драйвер в виде SWC. Исходные коды по заверению Мэтта будут опубликованы после того, как он приведет их в порядок, так что любителям порыться в сорсах пока придется подождать.

Подсмотрено у Майка Чемберза.

UPDATE: видимо, я в последнее время слишком увлекся AIR (Apollo), что, заметив новость о asSQL, поспешил отнести ее в раздел AIR. Теперь восстанавливаю правду: asSQL — это библиотека, позволяющая Flex/Flash/AIR приложениям работать с mySQL «напрямую», минуя серверсайд. Впредь буду внимательней.

Комментариев нет

Теги:

Вот наконец-то выдалось несколько свободных деньков, которые я посвятил своему знакомству с AIR (Apollo) и переводу третьей главы книги Apollo for Adobe Flex Developers. Pocket Guide. Скачал SDK, документацию и погрузился в процесс. Однако работа в консоли меня быстро утомила (а качать Apollo extension я не стал, по причине того, что мой билдер все никак не обновиться до версии 2.0.1), поэтому я решил автоматизировать процесс создания Flex-based Apollo приложений с помощью FlashDevelop. Но обо всем по порядку.

Установка Apollo SDK

  • Собственно, нам потребуется два SDK: Flex SDK 2.0.1 и Apollo SDK, первое скачиваем здесь, второе — здесь;
  • теперь создаем папку, пусть это будет C:apollo_sdk. Распаковываем в эту папку содержимое архива c Flex SDK, затем в эту же папку распаковываем архив с Apollo SDK. На вопросы о замене файлов отвечаем твердое «да».

Установка и настройка FlashDevelop

  • О том, как установить и настроить FlashDevelop я рассказывать не буду, почитать об этом вы можете здесь;
  • после того как FlashDevelop установлен и настроен, нам всего лишь надо добавить в него шаблон для создания Flex-based Apollo приложений. Для этого скачайте и распакуйте архив с шаблоном в папку [FlashDevelop_HOME]/Data/ProjectTemplates.

Вот теперь мы готовы к созданию Apollo приложения, если кто забыл, то весь сыр-бор именно ради этого. В качестве примера предлагаю написать простенький веб браузер, как в книге Apollo for Adobe Flex Developers.

Создание Apollo приложения

Открываем FlashDevelop и создаем новый Flex-based Apollo project. Задаем ему имя и указываем местоположение. После того как проект создан, открываем файл App.mxml и создаем в нем код нашего веб браузера:

XML:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:ApolloApplication
  3.     xmlns:mx="http://www.adobe.com/2006/mxml"
  4.     layout="vertical">
  5.     <mx:TextInput id="urlTxt" width="100%"
  6.         enter="html.location=urlTxt.text;"
  7.         text="http://www.google.com" />
  8.     <mx:HTML id="html" width="100%" height="100%"
  9.         location="http://www.google.com" />
  10. </mx:ApolloApplication>

Теперь нажимаем ANT Build, если все сделано правильно, то в папке deploy должен появиться файл App.air — это и есть установочный файл нашего Apollo приложения. Понятное дело, что на этапе разработки очень не удобно после каждой сборки устанавливать и удалять разрабатываемое приложение. Поэтому в build.xml предусмотрена задача test. Так что открываем build.xml и заменяем значение атрибута default тэга project на test. Снова нажимаем ANT Build и любуемся нашим веб браузером.

Описание build.xml и build.properties

Отдельное спасибо Юре Яровому за файл build.xml, он сделал его простым и понятным.

Build.xml состоит из шести задач:

  • compile.swf — компилирует swf-файл нашего приложения;
  • copy.xml — копирует xml-файл, в котором описаны параметры приложения;
  • copy.icons — копирует папку с иконками приложения;
  • compile.air — компилирует установочный air-файл;
  • build — компилирует swf, копирует xml-файл и папку с иконками, после чего компилирует air-файл и удаляет swf, xml и иконки;
  • test — компилирует swf, копирует xml и запускает Apollo приложение в тестовом режиме.

В build.properties вы сможете изменить содержание итогового xml-файла приложения. Подробнее об xml-файле Apollo приложения можно прочесть здесь.

На этом все. Удачи!

4 комментария

Теги: