Flash Ripper RSS Readers

+

21.Январь.2008

Флексипедия восстановлена. Фуххх!

FlexiPediaФлекс-вики снова работает. Неоценимую помощь в починке вики оказал один из лучших PHP-программистов Денис 'Q-Zma' Кузнецов. Да что там помощь — он просто все сделал там, где я стратил, и он сделал это за полчаса.

Я прошу прощения у всех, кто за время поломки вики не мог получить доступ к важной информации. Мне стоило сразу обратиться к профессионалу. Извините. Большущее спасибо тем, кто указывал мне на проблемы с вики и напоминал о них по почте и в блогах.

Posted by: Rost at 01:51 PM | Comments (22)

10.Январь.2008

Средняя зарплата Flex-разработчика: 100 у.е. в час

Ресурс HotGigs утверждает, что средняя стоимость одного часа работы Flex-разработчика составляет на сегодня 100 долларов в час. Минимальная цена за час flex-работы равна $75, а максимальная — $150. Весьма оптимистычные цифры, я прав? HotGigs также предлагает менеджерам калькулятор бюджета Flex-приложений.

Также открыта специальная группа ruFlexJobs для размещения любых объявлений, связанных с заказами на технологию Flex — пусть флекс-разработчик и заказчик найдут там друг друга.

Posted by: Rost at 01:09 PM | Comments (46)

08.Январь.2008

FlexSpy — визуальная отладка Flex-приложений на лету

FlexSpy (fxSpy, Flex Spy) делает то же самое, что делает FireBug для Firefox. FlexSpy позволяет изменять свойства компонентов Flex-приложения во время работы — например, в окне браузера. Это здорово облегчает дизайн флекс-приложений, Как FireBug облегчает отладку веб-страниц.

Можно увидеть FlexSpy в действии. Чтобы активизировать этот визуальный дебаггер, нажмите кнопку "FlexSpy" в правом верхнем углу. Внутри приложения откроется окно, позволяющее исследовать древовидную структуру визуальных компонентов и изменять их свойства — редактируемые помечены иконкой "карандаш". Эта штуковина может стать гвоздем в крышке гроба не слишком удобного дизайнерсокого режима самого Flex Builder.

Нужно изменить ширину контейнера и посмотреть, что получится? Пожалуйста. Увидеть, как будет выглядеть приложение с другим фоном? Без проблем.

Помимо того, что FlexSpy позволяет редактировать свойства и стили визуальных компонентов, он также имеет функцию удобного визуального поиска компонентов и подсветки редактируемого в данный момент элемента.

Как использовать Flex Spy в вашем Flex-приложении

Установка FlexSpy несложна сводится к стандартному подключению библиотеки flexspy.swc к проекту и добавлении кнопки его активации:
  1. Во Flex Builder откройте окно свойств проекта (меню Project > Properties).
  2. Выберите раздел Flex Library Build Path, а в нем — закладку Library path.
  3. Нажмите кнопку Add SWC... и в открывшемся диалоге укажите файл flexspy.swc.
  4. В любом месте своего приложения добавьте кнопку вызова FlexSpy:
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
    ...
    <mx:Script>
    <![CDATA[
    import com.flexspy.FlexSpy;
    ]]>
    </mx:Script>
    ...
    <mx:Button id="btnFlexSpy" label="FlexSpy" click="FlexSpy.show()" />
    ...
    </mx:Application>

Теперь и у флекс-дизайнеров есть свой отладчик. Ожидается AIR-версия для десктопа.

Posted by: Rost at 04:22 PM | Comments (3)

05.Декабрь.2007

Делается на Flex'е: генератор паттернов Aviary Peacock


Один из результатов работы Aviary Peacock.
Как верно подметил yoyo, не только Oracle выбирает Flex. Одна очень интересная компания, Aviary, собирается засыпать нас дизайнерскими, аудио, видео и шрифтовыми редакторами, сделанными на платформе Adobe Flex. Всего этих RIA-программ около 18, каждая из них носит имя птицы. Например, графический редактор Phoenix, векторный редактор Raven, аудио-редактор Myna, или генератор визуальных паттернов под названием Peacock (Павлин) — этот продукт еще в разработке, но увидеть его демо можно уже сейчас (плюс эксперименты Quasimondo с ним же, см. фотосет 'Peacock'.

Коротко о компании: Aviary образована создателями Worth1000, главного сайта по фотожабам. Там дизайнеры соревнуются на звание искуснейшего надругателя над фотографиями. Иными словами, у Worth1000 уже есть большое сообщество, на котором наверняка и будут обкатываться создаваемые ими креативные инструменты. Следить за развитием событий можно через блог Aviary (много траффика), и там же можно подписаться на получение приглашения к испытаниям этих RIA-программ (см. в правой колонке сайта Aviary).

Posted by: Rost at 04:13 PM | Comments (1)

30.Ноябрь.2007

Базовая техника работы напильником по Flex 3 Framework

Здесь не будет откровений, но будет простой рецепт облегчения жизни. Рецепт настоящий, хоть и взят из выдуманной книги "Все о напильниках и рашпилях для программистов старшего дошкольного возраста. Учебное пособие по быстрой отладке Flex-приложений."

Постановка проблемы: блуждающие трейсы

Бета Flex Builder 3 — она и есть бета, и ожидать от нее качества финального продукта не стоит. В текущей бете одна из главных неприятностей — это наличие более ста незакомментированных trace-выражений внутри самого Flex SDK. Особо неприятны трейсы, выводящиеся в цикле: они полностью забивают окно консоли, делая ее попросту бесполезной. Например, при добавлении во Flex-проект прогресс-бара и присвоении ему свойства indeterminate="true" можно забыть о консоли: она будет бесконечно заполняться фразой "Move indeterminate". Жить с этим можно, но нельзя, так как в целом третий флекс радует, и радует сильно.

Что делать?

Даг МакКун рекомендует качать ночные билды, но в комментариях делятся, что ночные билды вообще опасные, уж лучше просто бета c конечным набором багов. Поэтому — вот он,

Простейший метод настройки Flex SDK под свои нужды

♥ Подключаем исходники Flex 3 Framework к своему проекту:
Project Properties > Flex Build Path > Add Folder > C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\frameworks\projects\framework\src
♥ Поиском по всему на свете находим зловредный трейс: Find in Files (Ctrl+Shift+F) > Move indeterminate > Search.
♥ В результатах поиска находим нужную строку (в данном случае это 1631 строка класса ProgressBar.as) и комментируем ее. Но не так, как часто комментируют — с матами и обидными словами, а просто ставим в ее начале два слэша: //.
♥ Сохраняем файл — проблема решена.

Совсем другое дело! Ощущение, конечно, не лучшее: как будто заплатил за возможность свободно дышать. Но создатели фреймворка — тоже люди...

Как вы уже догадались, эта техника пригодится вам каждый раз, когда вы захотите переписать часть Flex Framework под себя.

Posted by: Rost at 02:51 PM | Comments (5)

10.Октябрь.2007

Флексовая жизнь на lifeflex.shaggysmile.com

ShaggySmile перестал помещаться в главный сайт и разродился еще одним: Life.Flex. Там он публикует статьи по разным аспектам Flex-технологии: от настройки вида Flex-приложения на фазе предзагрузки до примера загрузки потокового MP3 с помощью Flex 2 и Flash Media Server. Разрастаемся... :)

Posted by: Rost at 06:51 PM | Comments (2)

06.Октябрь.2007

Adobe Flex Builder Alpha для Linux

Вышел альфа-релиз Flex Builder для Linux. А до этого вышел Flash Player для Линукса, так что теперь линуксоиды имеют полный набор для флэш-платформы.

Уже давно подумываю о переходе на Linux, и теперь задумался всерьез. С какого Линукса лучше начать? Слышал, хвалят Ubuntu. Правда он лучший?

Posted by: Rost at 11:29 AM | Comments (16)

18.Сентябрь.2007

Делаем стильные Flex-приложения. Генератор паттернов

Хотите flex-приложение с прикольным фоном? Воспользуйтесь бесплатным компонентом WSBackgroundPixelSkin. Он предназначен для создания растровых заливок, построенных на повторяющемся рисунке (pattern) для компонентов типа Application, Canvas, HBox, VBox, Form.

И для него есть специальный генератор растровых pattern-заливок, переводящий заданную картинку в соответствующее CSS-правило. Довольно просто и нарядно, исходники прилагаются.

Posted by: Rost at 12:41 PM | Comments (12)

28.Август.2007

Java-разработчику: от Java к Flex, от Flex до Java, Flex + Java = Love

О том, почему у Флекса так много общего с Джавой и почему Java-разработчик с легкостью освоит Flex, как именно адепты Java могут использовать Flex для разработки RIA-приложений, почему Флекс — самое надежное средство для создания таковых, как устроен Flex-фреймворк и чтол такое MXML/ActionScript3, как LiveCycle Data Services ES превращаются в контейнер Servlet/J2EE и предоставляют неслабую серверную инфраструктуру Flex-приложениям, как можно использовать opensource-альтернативы LiveCycle Data Services ES — Granite Data Services и OpenAMF - Java Flash Remoting, и какие все же есть различия между Flex и Java, включая примеры исходного кода — таково, если очень коротко, содержание двух статей:

1. Flex and Java – A perfect technological marriage (перевести на русский язык)
2. From Java to Flex (перевести на русский)

Раздавайте ссылки знакомым Java-программистам. Ди а незнакомым тоже раздавайте, пригодится.

Posted by: Rost at 07:45 PM | Comments (2)

20.Август.2007

Не изобретайте велосипед — лучше накачайте шины

Такой перевод пришел мне на ум, когда я читал стенограмму Дэвида Колетты. А он писал что-то вроде этого:

"Переделывайте Flex 2 Framework под свои нужды. Программисты Adobe -- не боги. 90% работы создающего наворочнные компоненты Дага -- это оверрайдинг стандартного Flex 2 фреймворка. Но не делайте все с нуля. Не изобретайте велосипед, лучше натянице спицы на уже имеющемся. Воспользуйтесь преимуществом 234 000 строк кода фреймворка."

На английском звучит красивее: "Don’t reinvent the wheel, just make it rounder"

Posted by: Rost at 07:33 PM | Comments (8)

19.Август.2007

Если ты кульный хацкер: Даг Маккун о продвинутой переделке Flex 2 Framework ради получения сугубо девелоперского удовольствия от полной власти над непослушным UIComponent'ом и прочими частями фреймворка

Помните Дага Маккуна? Того самого, что PV3D + APE = TileUI - хорошая физика плюс лаконичное тридэ?

На только-только прошедшей конференции 360Flex Даг рассказал, показал и выложил исходники о том, как создавать собственные компоненты и при этом серьезно переделывать фреймворк Flex 2 под свои нужды.

Очевидцы говорят, что доклад Дага был одним из лучших.

А Дэвид Колетта речь Дага записал: Custom Component Development with Doug McCune -- писал быстро, с ошибками, вперемешку с соабственными мыслями... и получилось хорошо. Не зря проект Колетты (онлайновый текстовый редактор made with Flex) получил от Адоба инвестиций не на один миллион долларов -- тоже совсем недавно.

И есть там такая фраза: "Adobe engineers are good, but they are not God. They are all just programmers like you and me. You can write better code than them. There is nothing magical in the framework."

Posted by: Rost at 05:50 PM | Comments (7)

14.Июнь.2007

Возможные конфликты Flex 3 Beta и Flex 2

В сообществе ru_flex пользователь tn сообщает о конфликте Flex Builder 3 и Flex Builder 2:

"Только поаккуратнее с установкой - Flex Builder 3 и Flex Builder 2 как-то не очень вместе сосуществуют - похоже, новому нужна новейшая версия FP9 (9,0,60,120) , а старому онa невкуснa. Я сдуру установил Moxie на тот же комп, и потерял пару часов на эксперименты и на то, чтобы возвратить все текущие проекты на Flex Builder 2 в рабочее состояние."

tearaway_tea ему отвечает:

"У меня рабочая конфигурация Flex 2.0.1 Eclipse Plugin осталась в покое, а для експериментов поставил как Standalone Flex 3. И всё разрулилось и отлично взаимодействует, даже новый Debug Flash Player со старым флексом."

У кого-то еще были похожие проблемы?

Posted by: Rost at 05:38 PM | Comments (8)

27.Апрель.2007

Ошибка Adobe, или чего они не сделали, прежде чем объявить об открытии исходных кодов Flex 2

Я не люблю стриптиз, но многие любят. А почему так любят стриптиз? Потому что ожидание подарка зачастую приятнее самого подарка.

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

Можно было растянуть процесс открытия исходников хотя бы на полгода. Грамотно разрекламировать это заранее. Можно было объявить о намерении, но высказать сомнения в целесообразности, затеять кучу дискуссий, втянуть в это массу людей -- и в конце выдать решение. В результате это привлекло бы к технологии значительно больше внимания, чем однократное событие "мгновенного опенсорса". Можно было, да не было.

Странно все это, и наводит на мысли о корпоративном параличе, лишившем воображения целую компанию.

Posted by: Rost at 06:40 PM | Comments (42)

22.Март.2007

Flex 2.0.1 SDK Hotfix 1

Вышел Flex 2.0.1 SDK Hotfix 1 (зедесь перечень исправлений), качать отсюда: Flex 2.0.1 SDK Hotfix 1.

// via Reijii

Posted by: Rost at 04:57 PM | Comments (5)

20.Февраль.2007

Флекса не существует

Иногда (а скорее, даже часто) можно услышать вопрос типа: а покажите мне, что на Флексе сделано? Или вот такое утверждение: смотри, какая крутая flex-апликация!

И это правильно, разработчики должны меряться письками, -- это же прямая стимуляция всего интеллектуального хозяйства, от муладхары вверх до самой сахасрары.

Но в подобных ситуациях бывает так, что аскающему показывают флекс-проект, а он не видит там никакого флекса, и получается даже как-то неудобно перед ребятами, как будто кто-то кого-то обмануть пытался. Но тут нет никакого обмана. Просто флекса не существует, поэтому так сложно его показать.

Важно выяснить, как именно не существует флекс.

Начнем с главного -- что такое Флекс? Флекс -- это фреймворк для разработчика. Это инструментарий, способствующий быстрому созданию сложных и громоздких (если бы использовался голый Actionscript 3) конструкций. Но вся работа флекса -- за кадром, в скомпилированном проекте никакого флекса нет -- это все тот же старый добрый флэш, только под новую версию проигрывателя.

С точки зрения конечного пользователя, флекса не существует вообще. Есть флэш-проигрыватель, который теперь вместо 8 стал 9, обогатившись новыми возможностями типа бинарных операций и e4x. Но работать с этими нововведениями можно, и не прибегая к флексу, достаточно писать на Actionscript 3.

По большому счету, и флэша нет.

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

Posted by: Rost at 08:54 AM | Comments (6)

18.Февраль.2007

Как раскрасить ячейки TileList в шахматном порядке

Оказывается, очень просто. Чтобы ячейки Flex2-компонента TileList выглядели, как шахматная доска, достаточно задать свойство стиля alternatingItemColors, в качестве значения принимающее массив hex-цветов:

<mx:TileList alternatingItemColors="[#66FF66, #33CC33]" ... />

Цветов может быть больше двух; соответственно будет варьироваться результат. Можно получить полосатый TileList или TileList психоделический.

А поскольку CSS свойство alternatingItemColors наследуется от класса ListBase всеми списко-образными компонентами, то и работает для их всех:

- List (красит строки)
- HorizontalList (красит столбцы)
- TileList (красит строки и столбцы)
- DataGrid (красит строки) (надо проверить, как работает в PrintDataGrid)
- Tree (строки)
- Menu (строки)

А как покрасить ячейки в зависимости от данных, смотрите у Питера Энта и у Майка Нимера (эту ссылку у Горбатова подмотрел).

Остальные способы раскраски DataGrid с помощью itemRenderer'ов и наследования от DataGrid -- у того же Энта: Coloring the Background of DataGrid Cells.

Posted by: Rost at 05:15 AM | Comments (2)

14.Февраль.2007

Flex 2 API от TCOZ -- интересный вид сбоку

На сайте tcoz.com выложена весьма интересная онлайн-версия Flex 2 API от TCOZ, созданная с помощью Sparx Enterprise Architect.

В отличие от официального Flex 2 API, в ней есть возможность просмотра некоторых дополнительных аспектов сложной структуры Flex 2 Framework. Например, закладка "Associations From" в разделе класса покажет, какие классы используют данный клас и его экземпляры.

В целом, описание класса Flex API в версии от TCOZ может быть разбито на такие разделы:

* Attributes -- свойства класса.
* Operations -- методы.
* Associations To -- исходящие ссылки из данного класса на другие классы.
* Associations From -- входящие зависимости других классов от данного.
* Tagged Values -- мета-информация для данного класса.
* Other Links -- зависимости, не вошедшие в предыдущие категории.

Есть там и сгенеренные тем же Enterprise Architect графические диаграммы взаимосвязей Flex 2 Framework (этот метод использовался также для создания постера с Flex 2 API Visual Reference).

В общем, куча информации, не отрендеренной в официальном Flex 2 API.

Posted by: Rost at 10:45 PM | Comments (4)

12.Февраль.2007

Хотите Flex 2 внутри IntelliJ Idea? Так не сидите!

Вот здесь написано, как получить поддержку Flex 2 в IntelliJ IDEA, -- самом умном редакторе кода из известных в видимой части вселенной.

Хотите?

Posted by: Rost at 10:26 PM | Comments (1)

09.Январь.2007

Первые радости от обновленного Flex 2.0.1: много ругается, но при этом все же компилирует!

Пытаясь скомпилировать текущий проект из под обновленного Flex Builder 2.0.1, получаю один и тот же тупой баг от компилятора: изнутри одного класса не видны свойства другого класса ("1061: Call to a possibly undefined method getChildByName through a reference with static type yourpackage.YourType."). При этом он продолжает компилировать проект.

При этом сам Flex Builder 2.0.1 эти свойства видит: позволяет перейти на них по F3 (Ctrl+Click), например. Уже делал проекту Clean, делал Refresh, перезапускал билдер, и все это снова и снова в разном порядке -- не помогает.

Попробовал скомпилировать тот же проект в предыдущей версии билдера -- все ок. Видимо, проблема в новом компиляторе.

Жаль.

Update: проблему решить удалось только переименованием класса. Был: Design. Стал: DesignCanvas. Почему это сработало, могу только догадываться. Класса Design во фреймворке не было, то есть возможность конфликта -- исключена...

Update 2: переименованный класс отработал успешно несколько раз при компиляции, затем баг возник снова. Более действенным способом решения проблемы оказалось явное импортирование используемого класса, как указал в первом комментарии к этой записи tearaway_Tea.

Posted by: Rost at 03:28 PM | Comments (4)

08.Январь.2007

Модули: самая вкусная часть обновленного Flex 2.0.1

Новый Flex 2.0.1 поддерживает модульные Flex-приложения. Это когда вместо того, чтобы грузить все приложение за раз, вы разбиваете его на основное приложение и динамически в него загружаемые модули. Считается, что таким образом удастся сэкономить трафик пользователям крупных и/или сложных Flex-приложений. Кстати, именно по этой схеме и работает обычное флекс-приложение: сначала загружается костяк с прелоадером, а уже в него затем загружается основное содержимое -- но все это происходит прозрачно для разработчика, да и загружаемый модуль -- всего один. Теперь же флекс-разработчики могут использовать в качестве корневого тэга компонента тэг <mx:Module>, что заставит компонент загружаться динамически во время работы приложения вместо того, чтобы стать жестко вкомпилированным в него. Опция создания модуля появляется в диалоге создания нового MXML-компонента. Подробнее см. в главе "Создание модульных Flex-приложений" в обновленной документации к Flex 2.

Можно также заглянуть на кухню флекс-модулей, к Роджеру Гонзалезу: модульные флекс-приложения, часть 1, понимание ApplicationDomain (придется усваивать), модульные флекс-приложения, часть 2.

Полный список изменений в новой версии Flex 2.0.1 есть у Клишина: Подробно о нововведениях, оставшихся ошибках и исправлениях во Flex SDK 2.0.1.

Posted by: Rost at 06:19 AM | Comments (4)

05.Январь.2007

Flex 2.0.1 уже можно качать

Доступно для скачивания обновление (апдейтер) Flex Builder 2.0.1 (144 mb)

Этот апдейтер -- универсальный, он обновит как версию Flex Builder 2, так и Flex Builder 2 Plug-in на ваш выбор (после запуска апдейтера у вас спросят).

Также стали доступны новые версии продуктов линейки Flex 2 -- их можно скачать со страницы апдейтов Flex 2.0.1.

Еще подробности -- у Кости Ковалева (см. в комментах тоже).

Posted by: Rost at 03:33 PM | Comments (6)

21.Декабрь.2006

Расширение TODO и FIXME для Flex Builder 2

Пока мы загорали на пляжах, Дирк Эйшман создал расширение "TODO/FIXME" для Flex Builder 2, заставляющее среду разработки правильно реагировать на столь любимые разработчиками комментарии типа

// TODO Доделать к дедлайну
// FIXME Этот метод -- подпорка, оптимизировать перед релизом

-- т.е. напоминания самому себе или своим потомкам о недоделках/багах в коде.

За наводку спасибо Диме 'Reijii' Кочетову

Posted by: Rost at 04:39 PM | Comments (4)

09.Декабрь.2006

Локализация Flex-приложений с помощью класса ResourceBundle

Изучая классы фреймворка Flex SDK 2, я встретил девушку класс mx.resources.ResourceBundle, предназначенный для локализации флекс-приложений и фреймворков. Основной принцип -- выносить из ваших классов весь нуждающийся в переводе на другие языки контент, а затем вызывать его с помощью мета-тэга [ResourceBundle] (в ActionScript) или с помощью директивы @Resource (в MXML).

Увидеть пример использования ResourceBundle в AS3 можно в классах флекс-фреймворка, например, в классе mx.collections.XMLListAdapter: поищите по словам ResourceBundle, packageResources и loadResources (там он используется для локализации сообщений об ошибках).

A y injun#576871 есть бесценная статья на эту тему: Локализация Flex-приложений -- там рассматривается локализация в MXML с использованием данного класса и файлов свойств, в которые и выносится весь локализуемый контент, а также упоминаются необходимые опции компилятора.

Почитать документацию -- ResourceBundle в Adobe Livedocs. А дует этот ветер со стороны Java.

Posted by: Rost at 08:16 PM | Comments (1)

08.Декабрь.2006

Как указать, какую джава-машину должен использовать Flex Builder и заодно узнать, сколько их всего установлено на вашем компьютере

В конференции ruFlex уже не первый день идет обуждение этой темы. Основная цель -- повысить производительность флекс билдера. Пробудлирую свое письмо оттуда:

1. Если у тебя Plugin-версия Flex Builder 2, то задать используемую в данный момент джава машину можно прямо в параметрах команды его запуска, например:

C:\Program Files\Eclipse-3-3-m2\eclipse.exe "-showlocation -vm "C:\Program Files\Java\jre1.5.0_09\bin\javaw.exe" -vmargs -Xms128M -Xmx512M -XX:MinHeapFreeRatio=20"

2. Если у тебя standalone-версия Flex Builder 2, то используемую джава-машину можно задать в файле FlexBuilder.ini, что находится в каталоге «C:\Program Files\Adobe\Flex Builder 2 Release\». Добавь туда две строки типа:

-vm
C:\Program Files\Java\jre1.5.0_09\bin\javaw.exe

3. Увидеть, какая виртуальная джава-машина используется сейчас, можно в меню флекс-билдера:

Help > Product Details > Configuration Details > строка “-vm” и следующая за ней.

4. Увидеть, какие вообще на твоем компе есть джава-машины, можно так:

Меню Start > Control Panel > Java > закладка Java > Раздел Java Application Runtime Settings > Кнопка View > Find > Next > Укажи путь > Next.

(4.1 Можно просто файловым поиском найти все javaw.exe)

Например, у меня на машине оказалось 10 java-машин, из которых две постоянно висели в памяти как автозапускающиеся сервисы ;-)

Майкл Клишин также приводит ссылки не технозаметку от Адоби по поводу производительности компилятора Flex Builder 2 со старыми версиями JRE.

Posted by: Rost at 05:37 PM | Comments (1)

01.Декабрь.2006

Динамическая загрузка шрифтов во flex-приложения и смена набора шрифтов

Дмитрий 'Reijii' Кочетов написал статью "Динамическая загрузка шрифтов во flex-приложения и смена набора шрифтов.

Добавим только, что речь идет о flex-приложениях. В статье описывается создание и использование подгружаемой во время выполнения библиотеки шрифтов (рецепт взят из рабочего проекта). Исходники прилагаются.

Posted by: Rost at 01:26 PM | Comments (0)

21.Ноябрь.2006

Как правильнее перевести "gutter"?

В подразделе "Задание свойств отступа" раздела "Форматирование диаграмм" главы "Компоненты диаграмм Flex" книги "Введение во Flex для заработчиков" я встретил термин, "gutter", перевести который смог пока только как "пробел" или "пробельная область". Им обозначается область диаграммы между ее областью отступа (padding) и осью. Flex рисует метки, названия осей и деления осей в пробельной области диаграммы:



Согласны ли вы с таким вариантом перевода? Может, есть более удачный?

Posted by: Rost at 01:41 PM | Comments (9)

20.Ноябрь.2006

Flex 2 для PHP: с чего начать?

Журнал PHPInside.ru опубликовал новость от Майка Поттера с рекомендациям для PHP-разработчиков, желающих начать работу с технологией Adobe Flex 2.

Posted by: Rost at 01:59 PM | Comments (0)

"Типы диаграмм" переведены на русский язык

Закончен перевод второй главы "Типы диаграмм" из раздела "Диаграммы" книги "Введение во Flex для разработчика", входящей в русскоязычную документацию по Flex 2 (первая глава "Введение в мир диаграмм во Flex" была переведена недавно).

Приветствуется критика по переводу конкретных терминов типа "candlestick chart", а также любые недеконструктивные пожелания и высказывания по адресу.

Остались третья и четвертая главы, "Форматирование диаграмм" и "Использование событий и эффектов диаграмм".

Posted by: Rost at 03:37 AM | Comments (0)

31.Октябрь.2006

Простейший способ отключить прокрутку во Flex-приложении

Автоматическая прокрутка содержимого контейнеров во Flex-приложениях -- весьма полезная вещь, однако даже от нее иногда хочется избавиться. Простейший способ сделать это -- установить атрибут clipContent контейнера в false. Например, чтобы не возникала прокрутка на уровне приложения (Application):

<mx:Application clipContent="false" ... />

По хорошему, для этого нужно использовать

horizontalScrollPolicy="off"
verticalScrollPolicy="off"

-- но у меня при этом возникает ошибка типа:
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/swapChildren()

каждый раз при потенциальном появлении скроллбара. Кто-нибудь с этим уже сталкивался?

Узнать больше про полезное свойство clipContetn можно во flex2педии: Масштабирование и позиционирование компонентов от Андрея Горбатова.

Posted by: Rost at 04:31 PM | Comments (1)

FLEXifier -- компилируем Flex 2 приложение онлайн

FLEXifier -- сайт для проверки вашего MXML- или AS3- кода в окне браузера. Ввел код в форму -- увидел результат.

Конечно, при установленном Flex Builder 2 это покажется излишеством. Однако чтобы заражать вирусом флекса соседние технологии и непокорных менеджеров, показывая мощь Flex 2 технологии в действии -- незаменимо! Я как раз так и сделал 5 минут назад, отправив письмо сотрудникам и клиенту.

Во FLEXifier даже готовые куски кода и шаблоны предусмотрены, вот ведь как. А результат можно отправить себе на мыло и людям на радость.

// подсмотрено одновременно у Дэна Иванова и Injun'a

Posted by: Rost at 12:51 PM | Comments (0)

21.Сентябрь.2006

Скин для Flex 2 в стиле Windows XP

Прикольная демка скинования -- тема для Flex 2 в стиле WinXP.

// подсмотрено Reijii у Горбатова

Posted by: Rost at 04:14 PM | Comments (1)

11.Август.2006

Как честно не платить за Flex Builder 2? Fishbounce скажет!

Fishbounce: отличный новый русский журнал о flash и flex. Я обнаружил там сразу неск. статей, посвященных очень популярной сейчас проблеме: триал Flex Builder 2 истек и он хочет кушать. Как продолжать писать на AS3 и не париться?

Для решения это проблемы Fishbounce возвращается к соотв. записи Константинера и дополняет ее чисто практическими указаниями, как все настроить и запустить: сборка Flex-приложений с помощью Apache Ant.

Лигалайз йосэлф!

Posted by: Rost at 02:36 PM | Comments (12)

09.Август.2006

Flex Style Explorer внутри Flex Builder

На самом деле очень просто: скачиваем и открываем архив с Flex Style Explorer, идем во Flex Builder > File --> Open File... и быбираем Flex2StyleExplorer.html.

Posted by: Rost at 11:31 AM | Comments (0)

07.Август.2006

Flex-компонент: закладки с стиле Firefox 2.0

Джереми Лу создал Flex-компонент TabBar - продвинутый табулятор в стиле Firefox 2, на каждой из закладок которого есть кнопка "закрыть", а также включена возможность ручной сортировки закладок путем их перетаскивания -- это те самые волшебные закладки, хорошо известные пользователям Eclipse, а теперь уже и -- Firefox 2.0.

Вот пример работы компонента TabBar, где видно также, что на лету добавлять в него новые закладки, равно как и управлять его внешним видом весьма легко.

Posted by: Rost at 09:17 PM | Comments (6)

27.Июль.2006

Сохранение звука на сервере -- реально!

Подробности -- здесь: Почему Adobe совсем скоро реализует сохранение звука на сервере.

Posted by: Rost at 07:50 PM | Comments (1)

24.Июль.2006

Flex Builder 2 для Apple Macintosh

Еще не достепен для скачивания, но уже пожно поглазеть: скриншоты Flex Builder 2 для Apple Macintosh.

Posted by: Rost at 11:31 PM | Comments (0)

20.Июль.2006

История одного постера с Flex 2 API Visual Reference

Начну с главного: постер "Flex 2 API Visual Reference" выложен для свободного скачивания. Размер файла: 41 Мб. Формат: GIF.

Постер выложил Илья, флэш-разработчик из Харькова. Он его отсканировал одним куском и собрал в один файл. Говорит, что качество получилось не хуже, чем у оригинала.

Теперь об оригинале. Дело было так: Рост из своего визита в Сонопию привез в Харьков три постера "Flex 2 API Visual Reference", которые ему подарил в Сонопии JabbyPanda. (Кстати, они уже перешли на Flex 2, и, насколько я знаю, Сонопия ищет еще разработчиков). В свою очередь, JabbyPanda получил серию постеров от их непосредственного производителя: JabbyPanda убедил RocketBoots в том, что на Украине Флекс любят и используют, и постеры зря не пропадут. Как вы видите, JabbyPanda более чем прав.

Написав отчет о визите с Сонопию, Рост пообещал отдать два постера в хорошие руки. На призыв отозвались Клишин и Reijii (он же Дима Кочетов, тоже из Харькова). Постер Клишина ждет своего хозяина, а вот с Reijii и Ильей было организовано поедание мороженого, в ходе которого было выпито пиво и был передан в хорошие руки второй постер.

Исторический кадр: Харьков, вечер, Илья держит в руках постер "Flex 2 API Visual Reference". Рост (справа) помогает держать постер.

Но, поскольку описанные события совпали с поисками флэш-разработчика для студии Validio Design, в которой работает Рост, и выбранным в результате многих собеседований кандидатом стал Reijii, то его постер автоматически оказался ему не нужен, так как теперь он работает в одном кабинете с Ростом. Теперь они могут вместе медитировать на этом постере (под музыку Muslimgauz) сколь угодно долго. Это происходит каждый день. Отличный постерище! Поэтому Reijii отдал свой постер Илье, который его отсканировал, собрал и выложил в сеть.

Качайте: постер "Flex 2 API Visual Reference" для свободного скачивания. Размер файла: 41 Мб. Формат: GIF.

.

Posted by: Rost at 01:22 PM | Comments (18)

18.Июль.2006

MDM Zinc версии 2.5 поддерживает Flex 2 и AS3

Вышла версия 2.5 MDM Zinc -- инструмента для превращения SWF в десктопр-приложения для Windows и Mac OS X, с предоставлением флэш-приложениям таких возможностей, как доступ к низкоуровневым функциям ОС (типа файловых) через оболочку Zinc.

В этом обновлении Zinc добавлена поддержка Flex 2 / AS3, так что вы можете теперь запускать приложения Flex 2 прямо на вашем десктопе. Существует также быстрый урок по использованию Zinc и Flex 2. // via richinternet blog

Ура!!!!

Posted by: Rost at 06:37 PM | Comments (2)

Функция trace() во Flex 2 принимает несколько аргументов

Во Flex 2 глобальной функции trace() можно передать сколько хочешь аргументов через запятую, а она выведет их, разделив пробелами:

trace( Application, hello, 1, 2, 3, "booyaka" );

Выведет:

[class Application] function Function() {} 1 2 3 booyaka

Мелочь, а приятно :-)

Posted by: Rost at 03:26 PM | Comments (3)

17.Июль.2006

Сборка Flex-приложений с помощью Ant

"В то время как Adobe выпустили бесплатный SDK для разработки Flex-приложений, просто неприлично не уметь собирать приложения с его помощью. А если вы работаете на заказ, то бессвязный набор ваших исходных кодов вряд ли вдохновит заказчика: что ему с ними делать? Как собрать из них приложение в случае необходимости? Тем более, что часто заказчик неспециалист: ему что, покупать себе Flex Builder, осваивать его? Если в разработке Flash-приложений мы отдавали fla с классами и на пальцах объясняли что куда (а заказчик вынужден был смириться с тем, что ему понадобится среда разработки Flash - отнюдь не бесплатная), то с бесплатным SDK мы просто обязаны дать заказчику код, который он в любой момент может использовать для сборки приложения." -- так начинается статья Константинера "Сборка Flex-приложений с помощью Ant".

Как всегда у Константинера -- написано обстоятельно и без пробелов, боитесь буков -- не ходите.

Posted by: Rost at 06:11 PM | Comments (0)

16.Июль.2006

Flex-компоненты по-русски: Color Picker для Flex 2 в стиле Adobe Photoshop

Сию благую весть принес нам Константинер, а я не устоял пред искушеньем и за ним вторю я: Василий Нужа создал компонент "Color Picker для Flex 2 в стиле Photoshop".

Posted by: Rost at 03:18 PM | Comments (2)

15.Июль.2006

Константинер подключил лог-панель XPanel к Flex 2 Logging API

Обновление: Последняя версия лог-панели -- xp3.

Жила себе была себе XPanel от Вадима Мельника, выводящая лог-информацию Flex 2 через собственный API. А Конст написал log target для родного Logging API Flex 2, так что теперь лог-информация Flex 2 выводится в XPanel через Logging API Flex 2. Читать подробности, качать и спасибо кричать -- у Константинера, в записи "Лог-панель для Flex 2"

Posted by: Rost at 01:56 AM | Comments (4)

14.Июль.2006

ruFlex -- почтовая конференция для обсуждения аспектов технологии Flex (1, 1.5, 2) и языков ActionScript 2 и ActionScript 3

С удовольствием сообщаем Вам, что открылся и начал свою плодотворную работу mail-лист русскоязычного Flex-сообщества! Это знаменательная дата не только для русскоязычных разработчиков, ориентированных на Flash-платформу, но и для мирового Flex-сообщества! Не зря же все говорят про высокий уровень образования в ex-СССР итд. Не будем вдаваться в сложные политические вопросы, а будем совместно изучать и поднимать Flex-движение на территории ex-СССР и за пределами!

Цель и девиз сообщества - быть профессионалами мирового уровня! Так присоединяйся, комрад! Или как написал в свое время Малевич Хармсу - идите и останавливайте прогресс!

Ну и после столь высокопарного заявления следует сделать лишь одно: присоединиться к ruFlex, начать спрашивать и отвечать, делиться опытом итд.

Основной язык группы ruFlex -- русский (допускается английский и каталонский) ввиду того, что группа рускоязычная.

Posted by: Rost at 02:29 PM | Comments (1)

13.Июль.2006

Почему именно Флекс быстрее, чем Флэш. Пространство имен AS3: производительность Flex 2 за счет совместимости со стандартом ECMA-262

Компилятор флекс-приложений использует опцию -as3 для указания, какой тип наследования будет использовать компилируемое приложение. Во флекс существует два возможных типа наследования:

1. Наследование фиксированных свойств через классы -- используется во флекс по умолчанию.
2. Наследование динамических свойств через прототипы -- второй возможный вариант (был единственно возможным во флэш).

Первый тип дает более быстрое приложение, а второй -- более совместимое со стандартом ECMA-262 (третья редакция).

Указав флекс-компилятору аргумент -as3, разработчик определяет, какой тип наследования будет использовать его приложение. Flex Builder 2 по умолчанию включает этот флаг, используя первый тип компиляции.

Первый тип быстрее за счет того, что каждый класс готового приложения самостоятельно хранит все унаследованные свойства (делает их своими): таким образом, на поиск унаследованного свойства практически не затрачивается никаких вычислительных усилий.

А второй, ECMA-совместимый способ компиляции, предполагает доступ к унаследованным свойствам через цепочку прототипов. На поиск свойства в цепочке прототипов тратится некоторое время, что и приводит к менее производительным приложениям. Но при этом более совместимым со стандартом, предлагающим динамический доступ к свойствам.

Чорт, да я же об этом уже писал: "Объекты-признаки как более эффективная замена цепочек прототипов в ActionScript 3.0

Posted by: Rost at 05:20 PM | Comments (2)

Руби-скрипт для компиляции Flex-приложений

Кристиан Кэнтрелл давно уже выложил эту короткую статью: A Ruby Script for Compiling Flex Applications. Пусть и рельсовики приобщаются к флекс-компиляции ;)

Posted by: Rost at 02:39 PM | Comments (1)

11.Июль.2006

13 причин, по которым мы любим именно Flex, и именно Flex 2

В чем преимущества разработки RIA-приложений именно во Flex 2?

  1. Flex-приложения работают одинаково во всех браузерах. Проигрыватель-то один.
  2. E4X. Каждый, кто парсил XML, может просто посмотреть на эти простые примеры.
  3. Боль от дизайна интерфейса уходит. Кто верстал трехколоночный резиновый дизайн на базе DIV + CSS, знает эту боль. Язык разметки Flex-приложений, MXML, основан на контейнерах. Их там много, как для резинового, так и для фиксированного дизайна.
  4. Простая проверка пользовательского ввода. Валидация адресов эл. почты, почтовых индексов, телефонных номеров и тыщи других рутинных цифирок встроена во Flex. И проверка кредиток тоже.
  5. Поддержка массы мадиа-форматов. Google video и крупные онлайн-каналы, транслирующие видео, использует Flash Platform как решение для своего сервиса. Проигрыватели Real, Windows Media -- в ...... Flex дает простой и надежный способ доставить звук и видео к пользователю. Вообще-то, вы можете это даже синтезировать.
  6. Настоящее отделение представления от реализации. Во Flex данные можно получать через широкий набор веб-сервисов (просто XML, SOAP, и т.д.) и привязывать к элементам интерфейса (обеспечивая таким образом их автоматическое обновление). Пусть сервер занимается только доставкой содержимого.
  7. Среда разработки Flex. Любой Javascript -разработчик (даже счастливый обладатель FireBug) не так счастлив, разрабатывая AJAX/JS приложения из-за отсутствия как визуальной среды разработки, так и от отлова ошибок на этапе разработки/компиляции. Flex Builder 2 -- это визуальная среда разработки (работает в двух режимах: Code и Design), стоящая на одном уровне Visual Studio и JBuilder. И он построен на базе платформы Eclipse -- одной из мощнейших.
  8. Поддержка CSS. Во Flex CSS позволяет задавать многое: цвета, шрифты, градиенты, радиусы скругления и еще многое. Поиграйте с Flex Style Explorer и почувствуйте.
  9. Adobe Apollo. Кто сказал, что речь идет только о веб-приложениях? Adobe Apollo, решение для работы Flex-десктоп-приложений на всех доступных платформах, уже в разработке вот скриншоты Abobe Apollo. А здесь можно узнать больше об Adobe Apollo (и еще здесь).
  10. Это недорого! Среда разработки Flex Builder 2 стоит всего $499. А есть еще бесплатный Flex 2 Framework с исходными кодами (и компонентов тоже).
  11. Компоненты. Готовые, отлаженные, резиновые, способные к расширению компоненты Flex 2 делают разработку приложений действительно быстрой. А Компоненты диаграмм. На них выстроен сервис Google Analytics, этого достаточно, а вот демо: Flex Charting Components Sampler.
  12. Регулярные выражения
  13. Actionscript 3. Этот язык -- сердце Flex 2-технологии, и оно работает как мотор, не только соответствуя последней спецификации ECMA, но и дополняя стандартные возможности. Например, при назначении обработчиков событий можно указать их приоритет (порядок их вызовов), чего нет в самом стандарте.

Вообще, их было десять, но я добавил еще три.

А что добавите вы?

Posted by: Rost at 01:00 PM | Comments (5)

07.Июль.2006

Что получится, если при скиновании Flex 2-приложения забыть разместить swf-файл со скинами рядом с оссылающимся на него css-файлом

Продолжая тему скинования flex2-компонентов, нельзя не привести следующий жизненный скриншот, который, с одной стороны, является бесполезным с точки зрения повышения продаж изделий в стиле "Аква", но с другой -- еще раз прекрасно демонстрирует нам, верным флэш-разработчикам, что нет в природе никакого Флекса, а старый добрый флэш снова залез в новую оболочку, теперь для настоящих и очень сердитых программеров.

Так выглядит попытка привязять несуществующий swf-файл (восьмой версии, кстати!) со скинами к mxml-файлу с использующими их компонентами в среде разработки Flex Builder 2:



Однако защита от дурака здесь тоже придумана. После компиляции то же самое флэкс-приложение нерадивого девелопера (это я Ж-) выглядит как будто там внутри не происходит страшного несоответствия заявленных скинов реальным. Просто используются скины по умолчанию:



А вот самое интересное. Шо Кувамомото подсказывает, что можно получить полноценный Live Preview обновленных скинов флекс-компонентов, скомпилировав файл со скинами как проект-библиотеку (Flex Library project). Затем нужно указать его в качестве зависимости в основном проекте. После этого, каждый раз про изменении проекта-библотеки скинов будет обновляться и внешний вид целевого проекта -- прямо внутри среды разработки.

Posted by: Rost at 12:27 AM | Comments (0)

05.Июль.2006

Скинование во Flex 2

О скиновании Flex 2 -- по-русски.

Шаблоны для Flash, Photoshop и Fireworks прилагаются -- и вообще очень толково написано. Самое полезное -- создание скинов для flex-приложений во флэше. Это проще, чем можно подумать -- осбенно учитывая наличие этого хорошо сделанного шаблона, содержащего уже готовые размеченные и проименованные мувиклипы.

Posted by: Rost at 06:45 PM | Comments (5)

01.Июль.2006

Отличия между beta 3- и релизной версиями Flex 2

Тем, кто уже создавал Flex2-приложения (которые, как вы понимаете, являются старыми добрыми флэш-приложениями под Flash Player 9 (чего нельзя было сказать о Flex1-приложениях)), будет полезен cписок изменений между третьей бета-версией Flex 2 и его финальной версией.

Posted by: Rost at 06:40 PM | Comments (0)

29.Июнь.2006

Flex 2 вышел

Flex 2 упакован и готов к доставке

Круги на воде:

Flex.org

Flexcoders.net

Bill McCoy: Flash Player 9 & Flex 2 Released

TechCrunch: Adobe Launches Flex 2

CNET: Adobe updates Flash Player, Flex tool

Posted by: Rost at 09:22 PM | Comments (4)

Flash Professional 9 ActionScript 3.0 Preview

Flash Professional 9 Actionscript 3.0 Preview -- для флэш-разработчиков, желающих поиграть с Actionscript 3 уже сейчас, не дожидаясь выхода новой версии Flash "Blaze" 9 в 2007 году.

Качайте Flash Professional 9 ActionScript 3.0 Preview. Эта версия -- практически тот же Flash 8, но с возможностью написания и проверки синтаксиса Actionscript 3 и с полной документацией к нему же (жми F1). И возможностью компиляции под Flash Player 9, который теперь доступен для всех по интуитивно-понятному, легко вспоминаемому адресу: adobe.com/go/getflash.

Хакерам в эту же тему: Формат файла SWF 9.

Posted by: Rost at 05:06 PM | Comments (2)

27.Июнь.2006

Русскоязычная документация по Flex 2. Книга первая: Начало работы с Flex 2

Flex 2 -- это первый флэш-инструмент, перевод документации к которому появился раньше него самого (а сам Flex 2, если верить пророкам, выходит через несколько дней; а истинно же верующие получат его уже завтра). Сейчас уже переведена первая книга, называемая "Начало работы с Flex 2 (Getting started with Flex 2)". Эта ссылка ведет не сайт Майкла Клишина, который путем убеждений, диверсий и ухищрений заставил нескольких молодых людей бороться с тысячестраничным англоязычным pdf-файлом а себя подверг его беспощадному редактированию.

Респект? Рееееееееееееееспееееееееээээээээээээээээээээээээээээээээкт!

Posted by: Rost at 02:12 PM | Comments (10)

22.Июнь.2006

Бесплатный тренинг по продуктам Adobe в Киеве

Сразу скажу, что сам узнал об этой новости за 15 минут до ее публикации (в комментах люди жалуются на то, что поздно написал. Я и сам не прочь съездить, но не успеваю.)

23 июня 2006 года, в пятницу, в Киеве, сотрудники компании Adobe проведут бесплатный тренинг по продуктам Flex, Breeze и Media Server 2.

На повестке дня:

Начало

Длит.

Описание мероприятий.

9:00

0:15

Регистрация участников.

9:15

0:45

Введение в основы и принципы работы многофункциональных интернет приложений (Rich Internet Applications).

10:00

0:45

Представление Flex 2.
Суть, практические возможности, преимущества и выгоды для конечного потребителя, технологии и особенности продаж.

10:45

0:15

Кофе-пауза.

11:00

0:45

Представление Breeze.
Суть, практические возможности, преимущества и выгоды для конечного потребителя, технологии и особенности продаж.

11:45

0:15

Представление Flash Media Server 2.
Суть, практические возможности, конкурентные преимущества, что важно для конечного потребителя, технологии и особенности продаж.

12:00

0:30

Web-разработки при помощи Studio 8 и ColdFusion MX 7.

12:30

1:00

Обед (1-е, 2-е, 3-е).
Удовольствие вкуса + восстановление сил, угощает Winner Distribution.

13:30

0:45

Представление Adobe LiveCycle Designer.
Суть, практические возможности, конкурентные преимущества, что важно для конечного потребителя, технологии и особенности продаж.

14:15

0:45

Представление Adobe LiveCycle Forms + Form Manager.
Суть, практические возможности, конкурентные преимущества, что важно для конечного потребителя, технологии и особенности продаж.

15:00

0:15

Кофе-пауза.

15:15

0:45

Представление Adobe LiveCycle Document Security + Policy Server.
Суть, практические возможности, конкурентные преимущества, что важно для конечного потребителя, технологии и особенности продаж.

16:00

0:45

Представление Adobe LiveCycle Workflow Designer + Adobe LiveCycle Workflow Server.
Суть, практические возможности, конкурентные преимущества, что важно для конечного потребителя, технологии и особенности продаж.

16:45

0:45

Представление Adobe LiveCycle PDF-Generator + PDF Assembler (Outlook).
Суть, практические возможности, конкурентные преимущества, что важно для конечного потребителя, технологии и особенности продаж.

17:30

0:15

Вопросы - ответы.

17:45

-

Пивной фуршет.

Подробности, регистрация и адрес мероприятия на сайте: тренинг компании Adobe "Программное обеспечение Adobe -- успех продаж"

Posted by: Rost at 01:06 PM | Comments (13)

Как жить с раздвоением личности на MXML и ActionScript3: -keep-generated-actionscript

Как вы знаете, Flex-приложения быстрее всего создаются на языке MXML -- подмножетсве XML. Он используется для описания структуры Flex-приложения, его компонентов, некоторых элементарных обработчиков событий и пр. -- это так называемая "статическая" часть Flex-программы. MXML скрывает от разработчика внутренний механизм работы объектов/компонетов, предоставляя их базовые свойства в виде тэгов и аттрибутов. Для получения же более сложного поведения приложения (что требуется практически всегда) используется язык ActionScript3, вставляемый прямиком в исходный MXML-код в виде блоков CDATA (есть и другие способы -- классы, внешние файлы...) Так и получается: два языка бок о бок в исходном коде. И если у флэшера личность раздваивалась по оси "программист-дизайнер", то у флексовика личность состоит уже из двух программистов, один из которых все же слегка верстальщик.

Однако картина меняется при компиляции MXML-исходника: прежде, чем на выходе появится готовый swf-файл, весь MXML превращается в ActionScript3, из которого и получается затем готовое swf-приложение.

Вы это наверняка уже знали.

Но как увидеть этот промежуточный Actionscript-файл? Оказывается, очень просто. Досаточно только указать компилятору опцию "-keep-generated-actionscript" -- и финальный as-файл окажется рядом с готовым swf, пригодный для вашего детального исследования (в ходе которого выясняется, что существует весьма прямолинейное взаимное отображение между mxml и as3).

А что с этим делать дальше -- сто путей, сто дорог, вплоть до полного отказа от MXML как от возможной, но необязательной прослойки. Да мало ли что ;)

Указать опцию можно так:
Flex Builder > Project > Properties > Flex Compiler > Additional compiler arguments > -keep-generated-actionscript

А старожилы флекcа наверняка скажут, что это вовсе и не новость, и что это было еще во Flex 1.5. А зашедшие на огонек джависты добавят, что это из джавы пошло ;-)

Posted by: Rost at 12:21 AM | Comments (10)

14.Июнь.2006

Cairngorm 2 становится официальным open-source фрейморком для Flex 2 и вскоре появится в Adobe Labs

Стивен Вебстер анонсировал скорое появление Flex-фреймворка Cairngorm 2 в обновленном виде в Adobe Labs. Точную дату появления и детали нововведений он не назвал, но сказал, что в новой версии будут учтены пожелания Flex-сообщества по улучшению Caringorm -- наверное, популярнейшего Flex-каркаса сейчас. Появление же Cairngorm 2 в семействе продуктов Adobe Labs делает его фактически официальным, рекомендуемым к использованию open-source инструментарием для Flex 2. В свете выходящего совсем скоро релиза Flex 2... в общем, не забывайте отдыхать :-)

Posted by: Rost at 12:05 PM | Comments (0)

ЖЖ в стиле Flex 2

xy_ задизайнил себе ЖЖ в стиле Flex 2. И рецепт приложил. А сделал он это... в далеком октябре 2005 года :)

Posted by: Rost at 12:19 AM | Comments (8)

05.Июнь.2006

Флекс и Авалон одинаково прозрачны

Пишущий о RIA товарищ Раян Стюарт сравнил примеры дизайна приложений во Flex и Avalon. Давно уже сравнил кстати, а приятно до сих пор!

Posted by: Rost at 02:17 AM | Comments (10)

30.Май.2006

Магазин на Flex + Ruby on Rails: теперь русским языком вам объясняют!

Андрей Горбатов перевел на русский язык урок от Кристофа Конраца "Flex-магазин + Ruby on Rails", которым я совсем недавно так восхищался.

Что в этом туториале хорошо -- так это то, что весь процесс показан с самого начала -- с создания базы данных и установки языка интерпретатора (ворчал Клишин) и менеджера пакетов языка Руби и его рельсов. А заканчивается урок прикручиванием слайдеров из состава Yahoo UI Library для большей аяксовости. Так что если вы хотите пить -- урок лучше не читать, там нет воды. Фрилэнсеры, обратите самое пристальное внимание.. стоит того, чтобы прочесть и удивиться!

Posted by: Rost at 11:16 AM | Comments (5)

23.Май.2006

Недокументированный Flex Builder 2: раскраска кода

Майк Мориарти, один из разработчиков Flex Builder 2, написал, как настроить цвета в редакторе кода Flex Builder 2.

Posted by: Rost at 12:06 PM | Comments (0)

22.Май.2006

ColdFusion + Flex 2

В Адоби лабс прямым текстом утверждается, что нет более быстрого или легкого пути построения насыщенного веб-приложения, чем использование комбинации ColdFusion + Flex 2. Этой связке технологий посвящена специальная страница на сайте лабс: ColdFusion/Flex Connectivity. Там можно скачать дистрибутив ColdFusion/Flex Connectivity Beta, включающий новые ColdFusion Remoting-компоненты и ColdFusion Data Services для использования с Flex 2.

Впрочем, у Инжуна, специалиста по ColdFusion, уже идет обсуждение этой темы.

Posted by: Rost at 05:02 PM | Comments (0)

19.Май.2006

ActionScript IDE вашей мечты

Принимаются заявки на фичи ActionScript 3 IDE.

Вот одним грязным списком некторые из уже предложенных фич:

- поддержка деббагера 8 плеера
- рефакторинг
- форматирование
- нормальный поиск
- список вызовов метода
- Поддержка JavaDoc’ов
- Stricker AS2 Syntaxis checher
- автоформатирование, (настраиваемое, как для Java).
- MXML Design View
- MXML автокомплит
- Продвинутый байндинг из MXML view в АС3 (а-ля Matisse в NetBeans, ну или хотя бы дельфи)
- Визард для MXML компонента, создающий в обязательном порядке связанный AS3 класс
- функционал EnterpriseArchitect касательно ActionScript
- Работа с mxmlc- и compc- компиляторами из Flex 2 Framework.
- Возможность пост-процессинга скомпилированного
приложения;
- Опция публикации “добавить номер билда”;
- Code collapse
- Code insight
- Style checker
- Code Templates
- Сode Dragging
- Duplicating items with Alt-Drag (both code/design)

Posted by: Rost at 05:19 PM | Comments (0)

18.Май.2006

Шорткаты Flex Builder 2

  • Ctrl+Shift+T - Найти и открыть определение типа (Open Type).
  • Ctrl+Shift+R - Открыть указанный ресурс (~файл).
  • Ctrl+Shift+R - Организовать импорты (при редактировании AS3).
  • Ctrl+O - Quick Outline. Список доступных в данном (управляемом) контексте объектов исходного кода.
  • F3 или Ctrl+Click -- перейти к определению выделенного куска кода. Положение тектового курсора считается.
  • Ctrl+Shift+C -- Блочный комментарий выделения.
  • Ctrl+Shift+D -- Блок CDATA.
  • Ctrl+Space -- Подсказка по коду (Code Hint / Content Assist)
  • Alt + / -- автозавершение данного слова.
Posted by: Rost at 03:38 AM | Comments (2)

16.Май.2006

CFlex, сайт флекс-сообщества

На сайте cflex.net флексеры обмениваются опытом, получают работу и примеры флекс-приложений, подсказки для начинающих и ответы на популярные вопросы. А зарегистрировавшись, можно добавлять на сайт сообщества свой контент.

Posted by: Rost at 09:40 PM | Comments (2)

15.Май.2006

JBoss Mail Client на Flex 2

JBoss Mail Client построен на Flex 2.

Posted by: Rost at 07:39 AM | Comments (0)

14.Май.2006

Как Flex Builder 2 работает на слабых машинах

Установив Flex Builder 2 дома, на старенький PIII 700 MHz с 320 Мб памяти, я ни на что особо не надеялся -- в лучшем случае, рассчитывал почитать документацию с удобными средствами поиска от платформы Eclipse. Но был приятно удивлен открывшейся производительностью, увеличивающейся с каждой минутой работы: не только каждая новая компиляция приложения (довольно простого, следует признать) занимала все меньше и меньше времени. Но и поиск по документации, выпадение хинтов кода, скорость отзыва как всего редактора кода, так и режима Design View -- вся производительность Flex Builder 2 IDE приблизилась к производительности моей студийной машины (3000 MHz, 2Gb RAM). Через некоторое время я вообще почти перестал замечать эту разницу. Фактически, я сейчас пользуюсь последним шансом свое открытие записать, пока я ее еще эту исчезающую разницу чувствую Ж-)

Posted by: Rost at 02:31 PM | Comments (2)

11.Май.2006

Недокументированное пространство имен во Flex 2: mx_internal

Разработчики могут использовать пространство имен mx_internal, чтобы добраться до textField и большинства других субкомпонентов, -- пишут на Адоби Лабз, -- и учтите, что это не описано в API, а значит, может измениться. Используйте пространство имен mx_internal на свой страх и риск так:

    import mx.core.mx_internal;
use namespace mx_internal;

Posted by: Rost at 03:21 AM | Comments (2)

Шо Кувамото показывает, как делать Flex

Похоже, теперь мы будем видеть его все чаще: Шо Кувамото, руководитель разработки Flex Builder 2, показывает, как создать Flex-приложение за 15 минут.

Добавлено: обнаружилось еще с полдюжины полезных видео, демонстрирующих работу с дата-сервисами, использование AJAX и оптимизацию программирования (два видео от одной дамы) во Flex.

Posted by: Rost at 02:47 AM | Comments (0)

10.Май.2006

Alpha Plugin для Flex Builder 2

Давид Цукерман -- один из разработчиков Flex Builder 2. Его побочный проект, Alpha Plugin, предназанчен для быстрого исправления ошибок в исходном коде ActionScript 3 (обещает сделать для MXML) при работе во Flex Builder 2. В основной релиз он не вошел.

Функции: автокомплит упущенных переменных и возвращаемых функциями значений; автосоздание переменных как для методов, так и для класса; автодобавление и автоудаление import'ов; выравнивание кривых модификаторов доступа. Кроме того -- подсветка всеx проблем компилятора. Подробности со скриншотами: "Alpha Plugin for Flex Builder 2 Beta 3"

P.S. А ведь такой функционал надо включать в среду разработки по умолчанию.
P.P.S. Чорт, а ведь constantiner об этом уже писал %)

Posted by: Rost at 10:12 PM | Comments (4)

Flex 2.0 Beta 3 уже можно качать

Мы живем в страшное время: сайт Ф. Потрошителя раздираем внутренними противоречиями: так, в то время, пока в комментариях к одной записи нормальные пацаны жалуются, что "да отстойный это форум, тут даже ссылки на ломаную Flash MX 2004 нету!", то в комментариях к другой записи ненормальные будут жаловаться на глюки бесплатного Flex 2.0 Framework и совсем уж офигевшего девятого флэш-проигрывателя, качая и то, и другое и все остальное вполне официально: вот Flash Player 9, вот Flex SDK 2.0 (включающий Flex Framework с его бесплатным компилятором), а вот все остальное.

Posted by: Rost at 08:46 AM | Comments (0)

08.Май.2006

Flash на обложках модных журналов и в телевизоре

Флекс попал на обложку журнала JDJ ("The world's leading Java resource", "#1 i-Technology magazine in the world" -- вот те скромные эпитеты, которыми этот журнал себя наделяет), а флэш -- в телевизор: ABC, один из крупнейших поставщиков видеопотока, выбрал флэш-видео, причем флэш используется не только как проигрыватель, но и как продвинутая переключалка каналов.

Posted by: Rost at 11:21 AM | Comments (4)

Документация к Flex 2.0 Beta 3

F2B3 должен выйти в мае, а вот справка к нему уже выложена в сеть: вот Flex 2.0 beta 3 - ActionScript 3 Language Reference, вот вся документация к Flex 2.0 Beta 3. Над этой версией хорошо поработали!

Posted by: Rost at 01:57 AM | Comments (0)

04.Май.2006

Stage.mouseLeave, долгожданное событие (обновлено)

В ActionScript 3 появилось событие stage.onMouseLeave. Это означает, что теперь можно забыть о тех темных временах, когда флэш-кодеры путем уловок и ухищрений заставляли flash player определять момент выхода мышки за флэшку.

Теперь можно писать так (prof, спасибо за поправки!):

package {
	import flash.display.Sprite;
	import flash.display.Stage;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.text.TextField;
	import flash.events.Event;
	public class stageOnMouseLeave extends Sprite /*MovieClip*/{
		private var textTest:TextField;
		private var intCount:int=0;
		public function stageOnMouseLeave(){
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
			stage.showDefaultContextMenu=false;
			stage.addEventListener(Event.MOUSE_LEAVE, onStageLeave);
			textTest = new TextField();
			addChild(textTest);
			textTest.text = "Не покидай меня!";
		}
		public function onStageLeave(event:Event):void{
			textTest.text = "Ты бросил меня\n"+ ++intCount + " раз.";
		}
	}
}

Это работающий пример, его можно компилировать из консоли (т.е. просто написав: mxmlc stageOnMouseLeave.as. Вы ведь уже добавили путь к mxmlc, компилятору actionscript3 в переменную окружения patn, как было описано в компиляции flex-приложений из командной строки.)

Результат:

 

Posted by: Rost at 05:29 PM | Comments (11)

03.Май.2006

Пошаговая компиляция ActionScript 3 и MXML. Бесплатно

Одна из опаснейших сторон выходящего уже совсем скоро flex 2 -- это бесплатный двуголовый command-line компилятор для as3 / mxml, который Adobe обещает выпустить, (а на самом деле уже выпустила) в составе flex framework 2 для flex sdk 2.0 (15 Mb). Совсем скоро любой желающий сможет создавать flex-приложения, не потратив ни цента на покупку среды разработки. На самом деле, любой желающий уже может начать это делать, хотя и несколько обходным путем. Для этого достаточно скачать бета-версию flex builder 2.0 и использовать ее встроенный компилятор, он пока ближе к завершению. Во flex framework 2 войдет он же, пройдя обработку напильником наблюдаемых нами уже давно альфа- и бета- версий.

Из двух голов нового компилятора "главной" является голова "mxmlc", предназначенная для сборки рабочих приложений (написанных как на as3, так и на mxml), а вторая голова, "compc", изрыгает на свет компоненты (и swc-файлы вообще). В этом компиляторе реализована так называемая пошаговая компиляция (incremental compilation). Она уменьшает время сборки flex-приложений при использовании опции командной строки --incremental=true компилятора mxmlc. Обычно, когда последний собирает приложение, то генерируется достаточно много данных, одинаковых для каждой компиляции. А пошаговая компиляция позволяет разработчику указать, какую именно часть приложения нужно подвергнуть перекомпиляции. Остальное кэшируется в файле с именем "названиеПроекта_число.cache" и тем самым экономится время сборки. Кэш-файл хранится рядом с исходниками, так что при малейшем подозрении о закэшированности ошибки можно быстро удалить весь кэш. Эффективность этой опции прямо пропорциональна исходному времени компиляции проекта: на простейшем проекте выигрыш составляет приблизительно секунду из трех, на больших приложениях время компиляции уменьшалось с 40 секунд до почти 20 (пишет Даниэль). Его статья "компилируем легко с mxmlс!" должна помочь всем флэшерам-макоманам (звучит ;). Вот -- пример для пользователей Windows:

Компиляция flex-приложения из командной строки

Можно уже сейчас компилировать с помощью flex framework 2. Для этого достаточно распаковать flex sdk (15 Mb) в каталог "d:/swf/flex/sdk/". После этого в командной строке ввести:

"D:/swf/flex/sdk 2.0/bin/mxmlc.exe" MyApplication.as

И подождать от двух и более секунд, пока скомпилируется проект. Можно скачать простейший пример компиляции с помощью mxmlc, состоящий из одного as-файла и двух .bat-файлов (один компилирует, второй выводит справку по опциям компилятора, оба сохраняют результаты в текстовых логах там же)

Компиляция mxml-приложений происходит таким же образом (в данной версии sdk сопровождаясь при этом ошибками. Но выхода (уже долгожданной) версии flex02beta3 не придется ждать дольше 28 дней, так как испытательный срок текущей второй беты заканчивается 1 июня 2006. А пока встроенный компилятор flex builder 2 работает лучше, а синтаксис тот же самый (с учетом изменения пути)):

"C:/Program Files/Adobe/Flex Builder 2 Beta 2/Flex Framework 2/bin/mxmlc.exe" ThankYou.mxml

Для удобства дальнейшего использования стоит занести путь к каталогу flex в переменную окружения path.

О компиляторах командной строки asctionscript 3 и mxml в Ливдоках. Их опции тоже подробно описаны: mxmlc, compc.

 

Posted by: Rost at 11:28 PM | Comments (7)

29.Апрель.2006

ActionScript 3:resources:apis:libraries

  1. corelib
    хэширование MD5, сериализация JSON, парсинг строк и др. данных, и .т.д.

  2. FlexUnit
    аналог JUnit, идет в поставке с тестами графики

  3. Flickr API
    Flex + Flickr явно братья по разуму

  4. Mappr
    Flickr сейчас одно из самых обыгрываемых названий

  5. RSS and Atom libraries
    предлагают забыть о разнице форматов RSS

  6. Odeo
    подкастинг тоже захватили

  7. YouTube
    интерфейс к сервису обмена флэш-видео

Posted by: Rost at 03:07 AM | Comments (0)

26.Апрель.2006

Выведение из ActionScript 1 и 2 одной страницей

Скажи "привет!" AS3-у -- говорит Колин Мук и выкладывает на одной короткой странице тезисы и примечания к своей лекции "Введение в ActionScript 3", прочитанной им на недавно прошедшем фестивале Flash In Da Can в Торонто. Основные темы:

  • Новая виртуальная машина AVM2 и ее отношения с AVM1;
  • Основной язык ("core language") и программный интерфейс проигрывателя (player API) как две взаимодополняющие части языка ActionScript: эволюционное развитие первого и полная переделка второго в новом проигрывателе Flash Player 9;
  • E4X -- работа с XML;
  • API рисования;
  • Бесплатный компилятор ActionScript 3;
  • Модель событий;
  • Мусорные баки и дети Контейнеры и потомки;

Данные тезисы (а еще лучше -- их англоязычный оригинал на сайте Колина, ссылка была выше) можно смело использовать в качестве путеводителя по главным темам языка ActionScript 3.

Наверное, стоит выложить их тут по-русски. Перевод тезисов Колина на русский язык (стиль и оформление -- авторские):

© 2006 Colin Moock's Notes on His ActionScript 3.0 Lectures at FIDC:

обзор

общее введение в ActionScript 3.0

более глубокое изучение выбранных тем

  • E4X
  • api дисплея
  • модель событий
  •  

    начнем с начала

    новая виртуальная машина: "AVM2"

    ActionScript 1.0 и ActionScript 2.0: "AVM1"

    AVM1 и AVM2 работают одновременно в одном проигрывателе

    AVM2 переписана с нуля

  • произодительность
  • сложность
  • больше никаких хаков (спасибо, но все равно не верится ;)
  • основной язык (core language) против API проигрывателя (player API)

    ActionScript состоит из "основного языка" и "api проигрывателя"

    Основной язык ActionScript 3.0 как следующий шаг в эволюции ActionScript 2.0

    api проигрывателя: капитальный ремонт; решительные и далеко идущие изменения

    основной язык: главные изменения

    полностью переконструирован для производительности

  • "запечатанные" классы против динамических классов
  • исключения на этапе выполнения (runtime exceptions)

    E4X

    регулярные выражения

    основной язык: второстепенные изменения

    предупреждения о недостающих объявлениях типов

    ключевое слово final

    модификаторы public, internal, protected, private

    каждый класс должен быть в пакете

    переопределения (overrides) должны быть объявлены

    переменные и функции уровня пакета

    выражения на уровне класса

    константы

    связанные методы

    типы int, uint, Number

    * против Object

    Void теперь void

    значения параметров по умолчанию

    параметр ... (rest)

    ошибки при несовпадении аргументов/параметров

    выражение is приходит на смену instanceof

    цикл for-each-in

    flash player api

    полностью переписан и реорганизован

    значительно более ооп-ориентирован

    основные моменты

  • api дисплея
  • модель событий
  • посимвольные и построчные метрики текста (per-character and per-line text metrics) -- ура!
  • отражение (reflection): describeType()
  • двоичный сокет (binary socket)
  • двоичные данные (binary data (ByteArray))
  • flex

    Flex Builder

    Flex Framework

    Flex Data Services

    бесплатно!

    бесплатный компилятор из командной строки: ActionScript 3.0 + Flex Framework

    E4X

    XML является встроенным типом данных в ActionScript 3.0

    var novel:XML = <BOOK ISBN="0141182806"> <TITLE>Ulysses</TITLE> <AUTHOR>Joyce, James</AUTHOR> <PUBLISHER>Penguin Books Ltd</PUBLISHER> </BOOK>;

    novel.AUTHOR // Все элементы-потомки <BOOK> с именем "AUTHOR"

    trace(novel.TITLE); // Выводит: Ulysses

    trace(novel.@ISBN); // Выводит: 0141182806

    novel.AUTHOR = "Hemingway, Ernest";

    novel.PUBLISHER = "Scribner";

    novel.@ISBN = "0684800713";

    E4X: обход XML-дерева с помощью for-each-in

    var order:XML = <ORDER> <ITEM SKU="209"> <NAME>Trinket</NAME> <PRICE>9.99</PRICE> <QUANTITY>3</QUANTITY> </ITEM> <ITEM SKU="513"> <NAME>Gadget</NAME> <PRICE>149.99</PRICE> <QUANTITY>1</QUANTITY> </ITEM> <ITEM SKU="374"> <NAME>Toy</NAME> <PRICE>39.99</PRICE> <QUANTITY>2</QUANTITY> </ITEM> </ORDER> // Задать начальное значение суммарной стоимости как 0. var total:Number = 0; // Этот цикл срабатывает один раз для каждого элемента <ITEM>. for each (var item:XML in order.*) { total += item.QUANTITY * item.PRICE; } trace(total);

    E4X: фильтрующие логические условия (filtering predicate)

    var staff:XML = <STAFF> <EMPLOYEE ID="501" HIRED="1090728000000"> <NAME>Marco Crawley</NAME> <MANAGER>James Porter</MANAGER> <SALARY>25000</SALARY> <POSITION>Designer</POSITION> </EMPLOYEE> <EMPLOYEE ID="500" HIRED="1078462800000"> <NAME>Graham Barton</NAME> <MANAGER&