Flash Ripper RSS Readers

+

30.Июль.2008

FlexCover — инструмент покрытия кода (угадайте чем)

Чтобы разобраться, зачем нужен проект FlexCover, обратимся к определению:

Покрытие кода — мера, используемая при тестировании ПО. Показывает процент покрытия исходного кода программы тестами (дальше читайте в Википедии).

Что такое Flexcover? Это инструмент покрытия кода для Flex, AIR и AS3-проектов. Он включает в себя модифицированную версию AS3-компилятора, которая добавляет некоторые дополнительные вызовы функций в результирующий код SWF или SWC-файла. Во время выполнения эти вызовы функций посылают информацию о покрытии кода приложения отдельному инструменту CoverageViewer.

Модифицированный компилятор также генерирует отдельный файл "метаданных покрытия" ("coverage metadata"). В этом файле описаны все возможные пакеты, классы, функции, блоки и строки кода, а также имена соответствующих файлов с исходным кодом.

Покрытие операторов кода или покрытие условий?

Начиная с версии 0.5, Flexcover умееет считать как покрытие тестами операторов кода (line coverage), так и покрытие условий (branch coverage). В покрытии условий учитываются условные пути в коде, а не просто строки кода (операторы). Условные пути — это все те места, где есть условные операторы, где ваша программа решает, что именно ей делать (включая условия в циклах). То есть это ключевые, логические точки функциональности. Многие разработчики считают покрытие условий намного более аккуратной мерой покрытия; оно способно определить недостатки покрытия в масштабах одной строки кода, такой, как сложные условия с операторами || и && или условными выражениями, использующими оператор ?:

См.: сайт проекта FlexCover (cоотвествующие модификации Flex SDK можно найти в проекте flexcover-sdk на Google Code), скриншот инструмента FlexCover в работе, сайт автора — Джозефа Берковица и его объяснение покрытия условий. А вот флекс-титан Александр Гахов сделал много хороших закладок с тэгом Ant.

И еще ссылка по теме: Модели зрелости процесса тестирования ПО.

Ну что флексеры и флэшеры, попадем в мир взрослого девелопмента?

Posted by: Rost at 11:55 PM | Comments (4)

28.Июль.2008

Как отбиндить переменную во Flex

Недавно Андрей Микитюк задал мне простой вопрос — как отменить биндинг переменной во Flex? Честно говоря, я не смог ему ответить, зато он сам нашел готовый ответ в блоге одного из индийских Flex-евангелистов Raghunath Rao Thricovil, или просто — Raghu.

Тем, кто еще не в курсе, напомню: связывание, или биндинг данных (data binding) — одна из мощных фишек Флекса. Фишка в том, что переменная a связывается с переменной b и после этого значение a будет изменяться каждый раз, когда изменится значение b — они связаны (binded). Один из простейших примеров — текст, вводимый в поле ввода, автоматически появляется в другом месте приложения при вводе / удалении каждого нового символа. При грамотном применении биндинг позволяет сэкономить кучу кода и времени. Для начинающих (и не только) есть пара коротких уроков по биндингу — очень рекомендую.

А как отменить связывание переменнных?

Оказывается, отменить биндинг довольно просто в AS3 и невозможно в MXML. В AS3 это делается при создании биндинга стандартным образом с помощью метода bindProperty. Этот метод возвращает объект типа ChangeWatcher, который может "наблюдать" (watch) за самим связыванием, реагируя каждый раз при изменении переменной b. Чтобы разорвать связывание, достаточно вызвать на этом объекте-смотрителе метод unwatch(). Вот как это все выглядит в коде, а вот — как это работает.

Вообще, у Raghu весьма полезный блог.

Posted by: Rost at 10:01 PM | Comments (7)

25.Июль.2008

О том, как быстро исправлять ошибки во Flex 3 Framework (еще раз)

Представьте, что вы обнаруживаете в своем Flex-приложении баг, внесеный не вами, а разработчиками самого фреймворка. Ошибка явно находится в одном из "родных" классов. Вы даже знаете, как этот баг исправить, да вот как заставить Flex Builder это исправление подхватить без перекомпиляции всего фреймворка, ведь вы обычно работаете с уже готовым, представляющим фреймворк SWC-файлом типа 'framework.swc', а не c его исходным кодом, который так заманчиво доступен?

Чтобы быстро исправить ошибку Flex SDK для своего приложения, достаточно скопировать из фреймворка в свой проект соотвествующий файл класса с багом и разместить его в том же пакете. Например, класс mx.collections.Sort пойдет к вам в каталог src/mx/collections/Sort.as. Как правило, файлы классов включают также и дополнительный файл с версией фреймворка, так что скопируйте аналогичным образом и mx.core.Version.

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

Укрощение Flex-компилятора

Но есть еще одна хитрость, связанная с кэшированием при компиляции. Как известно, при включенном по умолчанию во Flex Builder параметре -incremental=true компилятор использует кэширование, чтобы сократить время компиляции. Поскольку вы уже наверняка компилировали свой проект, то скорее всего флекс-фреймворк уже в этом кэше и находится, что может помешать компилятору подхватить ваш класс, перекрывающий оригинальный. Кстати, обязательно почитайте о неожиданностях в поведении mxmlc-компилятора у Максима Качуровского и о том, как узнать параметры компиляции во Flex Builder у Александра Козловского.

Проблема легко решается, достаточно один раз "прогнать" проект через компилятор с отключенным кэшированием, а затем можно снова включить его. Чтобы отключить кэширование, зайдите в диалог свойств проекта Properties for [имя проекта] > Раздел Flex Compiler. Там в поле "Additional Compiler Arguments" добавьте через пробел один аргумент: -incremental=false и дайте проекту "сбилдиться". Затем вернитесь в этот же диалог и удалите добавленный параметр, таким образом вернув инкрементальную компиляцию по умолчанию.

Помог себе — выручи товарища

Используя описанную технику, можно спокойно исправлять досаждающе вам баги Flex. А если решитесь, то можно заслать свой патч с правками разработчикам самого Flex SDK, чтобы исправления были включены в следующие релизы. Adobe не только охотно принимает патчи, но и поощряет самых активных контрибьюторов. За каждые 3 принятые патча вам дадут любую книжку по продуктам Adobe из вашего виш-листа на Amazon. А тем двум, которые первыми сделают по 10 патчей, дают билет на Adobe MAX. Вот о том, как засылать патчи для Flex SDK.


Posted by: Rost at 07:58 PM | Comments (0)

23.Июль.2008

Компонент AdvancedDataGrid во Flex — масса новых возможностей, в том числе и не всегда очевидных

Как вы знаете, Flex-компонент AdvancedDataGrid (ADG) дает такие возможности, что старый добрый DataGrid (DG) начинает нервно покуривать в сторонке. Кратко о новом в AdvancedDataGrid:

  1. Отображение иерархических (древовидных) и группируемых данных, в том числе автоматическая конвертация "плоских" датапровайдеров в иерархические;
  2. Продвинутая сортировка таблицы по нескольким колонкам;
  3. Возможность задавать строкам и колонкам таблицы собственные уникальные стили — свойство styleFunction;
  4. Объединение колонок таблицы в группы;
  5. Букет новых возможностей для ItemRenderers.

Не баг, а фича: выравнивание текста в AdvancedDataGrid

Но не все новые функции AdvancedDataGrid заметны невооруженным глазом. Некоторые из них обнаруживаются в ходе отладки. Например, я никак не мог сказать своему ADG, что текст в заголовке таблицы нужно выровнять по левому краю: как ни изменял значение свойства стиля textAlign, заголовки таблицы упорно выравнивались по центру (то есть по умолчанию). И только погуглив по AdvancedDataGrid Header Text Align, я нашел описание этого бага в Adobe JIRA (хорошо работает система). Там же, в первом комментарии сказано, что это не баг, а фича. Так и есть: в ADG, в отличие от DG, текст заголовка можно выравнивать сразу по двум осям, по вертикали и по горизонтали. Для этого нужно использовать свойства стиля horizontalAlign и verticalAlign. Мне стоило посмпотреть в этот док сразу, но кто знал.

Но небольшой баг тут все же есть. Во-первых, разработчикам Flex SDK стоит поддержать 'старое' свойство стиля textAlign (используемое в DG), продублировав в нем поведение нового horizontalAlign, чтобы лишний раз не конфузить разработчиков. Во-вторых, в документации к компоненту стоит явно указать это различие между ADG и DG, и вообще все такие мелкие различия, так как тема актуальна.

А вообще — AdvancedDataGrid очень и очень радует.

Posted by: Rost at 04:04 PM | Comments (11)

06.Май.2008

Macromedia Flex, Brady и Partridge — продукты для профессионалов

Новость от 3 декабря 2003 года:

"Flex -- это новая серверная технология. Brady -- это визуальная среда для разработки и отладки Flex-приложений. Partridge -- это проект внедрения инструментов разработки Flex в популярную бесплатную среду разработки Eclipse.

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

Отвечая на часто задаваемый вопрос: "А как же Longhorn, Avalon, XAML, Sparkle и т.д.", представители Macromedia заявляют следующее: "Да, эти новые продукты и технологии от Microsoft похожи на то, в чем мы были и продолжаем быть первыми. В обоих случаях используются описания из XML-конструкций, компонентые решения и веб-сервисы для связи приложений. Мы не сомневаемся, что эти две среды будут взаимно обогащать друг друга."

Вдумайтесь: чуть менее, чем через полгода, Флексу исполнится пять лет.

Posted by: Rost at 04:35 AM | Comments (6)

02.Апрель.2008

Бесплатный Flex 3 Professional для студентов — и не только

Если вы еще не знаете: уже более двух недель Adobe бесплатно и официально раздает Flex 3 Professional студентам, аспирантам и образовательным учреждениям всех стран. Вряд ли Адоби передумает, но я все же рекомендую вам поспешить воспользоваться этой возможностью. И не забудьте поделиться хорошей новостью с друзьями. Потому как такая раздача пряников — сами понимаете, дело правильное и не каждый день бывает.

Чтобы получить Flex 3 Professional бесплатно, нужно предоставить доказательство вашей прямой причастности к образовательной сфере и получить в ответ серийный код продукта. Правильными доказательствами будут:

  1. a student ID showing current enrollment
  2. a Faculty ID showing current employment
  3. an employee ID showing current employment
  4. a letter on an educational institution letterhead stating that you are either a current student, a current faculty member or a current employee of the institution.

Что за крики я слышу? "Рост, ты что, забыл перевести текст в списке!" Нет, я не забыл. Я всего лишь уверен, что человек, осиливший этот перевод самостоятельно, сможет осилить и Флекс; верно и обратное. А если серьезно — я просто опасаюсь кривым переводом исказить информацию. Лучше разбирайтесь на местах, что из этого списка подойдет для вас. Я так понимаю, что отсканированного студбилета или удостоверения аспиранта / работника будет достаточно (первые три пункта). Также подойдет и бумажное письмо на бланке учебного заведения, подтверждающее ваш образовательный статус (четвертый пункт). Знающие — пожалуйста, поправьте меня, если я не прав.

Есть и FAQ по вопросу бесплатного Flex 3.

Posted by: Rost at 04:09 PM | Comments (24)

27.Март.2008

Прошу потестить Флекс-вики на новом сервере

Друзья! Спасибо за помощь в выборе нового сервера для Flex-вики. Персональное спасибо Алексею Солодовникову, он связался со мной и предложил свой сервер в Европе для тестирования (кажется, писал не только он, но я сейчас нашел только его письмо).

А самое бесповоротное спасибо Денису Кузнецову, который помог выбрать окончательное хостинговое решение. Теперь нужно убедиться, что это _именно _то _что _нужно и окончательно переехать Флекс-вики.

Собственно просьба: скажите, быстрее ли работает Flex-вики на новом хостинге, чем на старом? (Если найдете ошибки в кодировке — пожалуйста, укажите адреса страниц).

Posted by: Rost at 08:01 PM | Comments (19)

24.Март.2008

Создание кастомного Design-time View для своего Flex 3 компонента

Команда AnyChart.Com Team продолжает радовать. На этот раз они раскопали, как создать кастомный design-time preview для своих Flex компонентов. Привожу русскоязычный вариант статьи (оригинал тут) от авторов:

Иногда необходимо сделать кастомный Design-time Preview для компонента (это его вид в "Design View" Flex Builder-а). Для этих целей в Adobe Flex 3 SDK есть недокументированый класс mx.core.UIComponentGlobals. В этом волшебном классе лежит не менее волшебное поле designMode:Boolean.

В Design View среда Flex Builder пытается "выполнить" код и отобразить что-либо, следовательно можно прописать проверку на designMode и делать то, что хотим.

Итак:
1. Возьмем ActionScript-компонент для Flex Bulder 3.
2. Заоверрайдим метод createChildren():

override protected function createChildren():void {
super.createChildren();
if (UIComponentGlobals.designMode) {
//здесь мы создаем child-ы, которые будут в design mode
}
}

3. Заоверрайдим метод updateDisplayList():
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
super.updateDisplayList(unscaledWidth, unscaledHeight);

if (UIComponentGlobals.designMode) {
//здесь мы рисуем то, что будет видно в design mode
}else {
//а здесь то, что в runtime
}
}

Вуаля! Пример компонента можно взять здесь. При добавлении этого компонента на сцену в Design Mode Flex Builder-а мы увидим следующее:


А при запуске — вот это:

Можно скачать пример Flex-приложения и пример компонента.

Posted by: Rost at 08:06 PM | Comments (4)

05.Март.2008

Читаем Flex CookBook и CSS Advisor прямо из Flex Builder

Есть плагин Flex RssPanel, позволяющий читать содержимое Flex Cookbook и Adobe CSS Advisor прямо из Flex Builder. Плагин устанавливается стандартным образом из среды разработки Flex. Адрес плагина: http://flex.actionscript.it/plugins/Rss_Readers/

Плагин умеет читать посты, комментарии и правки к Flex Cookbook, а также искать в ней.

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

04.Март.2008

Как отправить свой патч для Flex SDK в Adobe

Хотите помочь Adobe подправить Flex SDK, но не знаете, с чего начать? JabbyPanda знает; он прислал мне две ссылки: 1) Как заслать патч в Adobe. 2) Форум по Open Source Flex.

Как заслать патч в Adobe

Минимальные требования: знание Subversion, JIRA и собюдение стиля кодирования Flex SDK. Вам необходимо иметь учетную запись в системе учета багов Adobe Flex JIRA.

Чтобы отправить патч для Flex:

  1. Подпишите соглашение участника (контрибьютора), по сути это — заявка на добавление вас в группу контрибьюторов в системе учета багов.
  2. Создайте сам патч. Например, в TortoiseSVN это делается командой "Create Patch". Сохраните файл патча.
  3. Найдите в базе данных багов Flex ошибку, которую исправляет ваш патч.
  4. Если в результате первого шага вы были добавлены в группу контрибьюторов, то у вашей учетной записи появятся права на добавление патчей и в левой колонке в разделе "Operations" вы увидите ссылку "Submit patch". Кликните по ней.
  5. Заполните поля открывшейся формы, прикрепите файл патча.
  6. Нажмите кнопку "Create". С этого момента патч поступает на рассмотрение коммиттером от Adobe. После одобрения он будет добавлен (подробнее о ролях в системе Adobe Flex JIRA).

Вот веселуха начнется :)

Posted by: Rost at 10:40 AM | Comments (2)

Лед тронулся: Adobe реально принимает патчи для Flex SDK

Совсем недавно Adobe Flex SDK стал проектом открытого кода. И вот, Том Чивертон уже создал первый патч, принятый Adobe во Flex Framework. Суть патча: простое добавление к build.xml для работы на 'unix'-системах, в т.ч. обработка переменных JAVA_HOME и ANT_HOME (автор тестировал патч на Ubuntu). Мама сыну: и где это ты так испатчкался?

Posted by: Rost at 10:40 AM | Comments (0)

02.Март.2008

Жизненный цикл во Flex — на этот раз в картинках

Братья-корейцы жгут: двумерная диаграмма инициализации Flex-приложения (кликабельно):

Схема инициализации Flex-приложения

Posted by: Rost at 12:32 AM | Comments (2)

29.Февраль.2008

Закулисы Flex и секрет успеха опенсорс-проекта

Мэтт Хотин выложил важное видео с фактами про Flex. За 7 минут вы узнаете: секрет успеха опенсорс-проекта, кто есть друзья Мэтта Шотина, проблемы Мэтта с Flash и Элаем Гринфилдом ("он не так крут, как все думают"), как делается Flex и почему кодеры есть рабы кьюэйщиков, из кого состоит команда разработчиков Flex и как она собирается перейти на проектную методологию SCRUM, и еще массу важных фактов! Смотрите, слушайте, улыбайтесь:

И это видео — не единственное, отснятое бездельниками из команды разработчиков Flex.

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

28.Февраль.2008

Все CSS-свойства Flex 3

Добрый человек выложил полный список CSS-свойств компонентов Flex 3. Эту страницу можно использовать для поиска того или иного свойства стиля у того или иного компонента.

Posted by: Rost at 06:37 AM | Comments (1)

24.Февраль.2008

Переделка Flex Framework под свои нужды — видео Дага МакКуна

Пионер флекс-билдинга ДагМакКун сдержал слово и выложил обещанное видео со своим выступлением на конференции 360|Flex в Сиэттле. В этой лекции Даг делится опытом, отвечая на следующие вопросы: как, когда, зачем, когда не стоит вообще, а когда все же стоит, и как начать переделывать Flex Framework в тех местах, где его устройство сдерживает ваш творческий порыв (или просто вы видите явный баг).

На самом деле это видео о разработке собственных компонентов:

Doug McCune @ 360Flex Seattle - Custom Component Development. Скачать полную версию видео можно здесь (286МБ).

Убедиться в том, что Даг таки знает, как и в каком месте доделывать Flex SDK, можно на совсем свежем примере из его блога: Даг решает популярную задачу отслеживания всех листенеров, присоединненых к данному визуальному компоненту, изменяя класс FlexSprite.

Кстати: голос, английский и чувство юмора Дага столь хороши, что делают просмотр этого видео полезным даже для тех, кто уверен в своем незнании английского. Вы узнаете его.

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

21.Февраль.2008

Метапрограммирование во Flex при помощи метаданных

Документация по Flex утверждает, что метаданные используются во Flex-приложениях для указания компилятору и парсеру дополнительных параметров классов, их свойств или методов. Например, в коде AS3-класса можно указать его события с помощью мета-тэгов [Event] (пример). После этого компилятор и парсер кода начинают "понимать" указанные события и при использовании данного AS3-класса в качестве MXML-компонента среда разработки Flex Builder будет выдавать к нему соотвествующие подсказки кода. А указав для свойства класса мета-тэг [Inspectable], вы сделаете его доступным инспектору свойств компонента (панель "Flex Properties"). Это встроенные мета-тэги, вот их полный список: Metadata tags in Flex 3. Присказка закончилась, дальше идет сказка.

Использование собственных мета-данных в AcationScript-классах

Со времен Flex 2 во Flash Player API встроена возможность получать доступ к мета-данным классов во время выполнения через т.н. Reflection API (метод describeType()). Это недокументированная возможность, поскольку документация говорит только об использовании мета-данных компилятором.

Более того, можно не только получить доступ к встроенным метаданным в время выполнения, но и вводить собственные мета-данные, не предусмотренные разработчиками Flex Framework. А чтобы они вместе со встроенными мета-данными попали в откомпилированное приложение, нужно указать их в опции компилятора -keep-as3-metadata.

Примеры использования собственных метаданных во Flex

Открываются возможности, осознать которые — целая отдельная задача. Есть примеры. Вот Кристоф Конрац показывает, как упростить общение с базой данных. С помощью собственных мета-данных он описывает структуру таблицы БД в своем ActionScript-классе. Затем показывает, как просто можно работать с описанной в мета-данных таблицей БД, не используя никакого SQL — только ActionScript.

Вот более свежие примеры от Эли Гринфилда, демонстрирующие, как с помощью собственных мета-данных можно вызывать функцию при каждом изменении некоего AS-выражения, или как создавать одно- и дву-направленные связывания между частями вашего компонента, или как в декларативном стиле назначить обработчик события части вашего компонента (online demo).

И Кристоф, и Эли предоставляют исходники к своим экспериментам (не очень сложные).

Posted by: Rost at 02:26 PM | Comments (20)

19.Февраль.2008

Добрался до самого вкусного — внутренности Flex Framework

Вечер. Офис опустел. Я собираюсь домой и сейчас распечатаю первую часть документа, называющегося "Внутренности Flex Framework". Скачайте и почитайте его вместе со мной — "Flex Framework Internals Part 1" (есть также Part 2). Начинаем через 5 минут.

К слову: О парнях из Adobe. Эли Гринфилд — еще больший минималист лентяй, чем я. Путь к Флекс-классам у меня: D:/dev/flex/classes. У него: C:/dev/f2 :)

Posted by: Rost at 09:48 PM | Comments (11)

Не так страшен Флекс, как его малютки :)

Сегодня в Skype-чате UAFPUG прозвучала фраза флэш-разработчика Олега Галабурды:

Собсна, я в этом месте меняю своё мнение про Флекс, а точнее про представление MXML -> AS3. :) Итого - Флекс не так уж и страшен, как его малюют, но отгребать рискую долго.

Этот эффект вызвало прочтение короткой статьи "Flex для Флэшеров" и пара фраз в чате!

Posted by: Rost at 05:40 PM | Comments (3)

9 дней, или приблизительная скорость обработки багов в Adobe JIRA

Вчера сервис учета багов Adobe JIRA сообщил мне, что исправлен баг в дистрибутиве BlazeDS.

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

Здесь сложность близка к минимальной. Ошибка заключалась в наличии одного лишнего символа в имени файла: детальное описание и способ обхода я описал в момент обнаружения и в тот же день создал в Adobe JIRA соотвествующую запись. Данная ошибка дожна быть проста в исправлении; возможно, она вообще является чисто механической.

А поскольку временем исправления ошибки в данном случае можно пренебречь, то оценим время обработки заявки на исправление ошибки в Adobe.

Дата обнаружения ошибки: 2 февраля 2008 г. (суббота); дата исправления: 18 февраля 2008 г. (понедельник). Итого 16 дней. Вычтем выходные (6 дней) и получим 10 дней. Дадим один день на исправление, regression testing, упаковку и доставку. Итого — девять рабочих дней.

Весьма оперативно работают в Adobe, не так ли? Голосовать за "любимые" баги сегодня — значит меньше работать завтра!

Update: Приятно удивился, насколько быстрее стал работать сервер Adobe JIRA.

Posted by: Rost at 02:01 PM | Comments (4)

14.Февраль.2008

Flex для начинающих. Для совсем начинающих — нужны ссылки!

Еще один из самых FAQ-овых вопросов: с чего начать изучение Flex? Люди, совершающие самые первые шаги во Flex, интересуются простейшими примерами.

Обычно я рекомендую обращаться за помощью в группу ruFlex. Но хочется также давать ссылки на статьи типа "мое первое Flex-приложение" или "Флекс для Флэшеров" И прежде, чем писать статью на тему "флекс с самого начала", я хотел бы спросить у вас — может быть, есть готовые ссылки, которыми мы сможем делиться с начинающими, в том числе и на русском? Давайте поделимся!

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

Все что Майкл Клишин написал про Flex — и не только

У меня часто спрашивают: Рост, есть ли у тебя архив старого сайта Novemberain.com?

Конечно, у меня есть архив блога Майкла Клишина, причем он всегда под рукой. Вот посты Майкла Клишина в категории 'Flex' состоянием на 9 февраля 2007 года. А вот вообще весь его блог за указаный период.

Архивы всех сайтов есть у всех нас благодаря великолепному сервису web.archive.org.

Posted by: Rost at 02:01 PM | Comments (3)

07.Февраль.2008

IntelliJ IDEA как инструмент разработки Flex-приложений

5 февраля 2008 г. в блоге JetBrains IDEA был анонсирован выход новой версии редактора IDEA 7.0.3 с продвинутой поддержкой Flex-приложений. Участники предрелизной программы JetBrains, "Early Access Program" (EAP) уже могут это попробовать:

  • Умный автокомплит кода для MXML и AS файлов с перекрестным учетом сущностей кода (code symbols) между ними, включая значения аттрибутов и блоки mx:Script.
  • Автоформатирование, подсветка и стилизация кода (Илья?)
  • Валидация кода на лету, поддержка быстрых правок (quick-fixes).
  • Диагностика кода на предмет "бутылочных горлышек" производительности, плохих практик и других проблем.
  • Богатый рефакторинг.

Хотите проверить, как это работает? Вот ссылки:

  1. Урок: использование IntelliJ IDEA для создания Flex-приложений (pdf).
  2. Скачать: свежий билд IDEA.
  3. Скачать: исходные коды проекта, получающегося при прохождении урока.

Не секрет, что IDEA высоко ценится Java-разработчиками за ее превосходное качество. Многие просто называют ее лучшей. "Most Intelligent" — называеют ее авторы.

Поддержку Flex в IDEA хотим и ждем давно. Похоже, разработчики из JetBrains решают эту задачу на "отлично". Но — кто уже пробовал эти новые возможности? Что скажете?

Posted by: Rost at 03:23 PM | Comments (20)

05.Февраль.2008

День выборов? В жопу политиков, голосуем за исправление багов!

Matt Chotin Flex BugsРайан Стюарт обещает, что такого больше не будет. Сегодня в Adobe специальный день. Мэтт Хотин — главный ответственный за Flex, объявил сегодня день голосования за баги Flex (сегодня же в 20 американских штатах день выборов, а Мэтт дает возможность выбора тем, кто в этих штатах не живет). Голосуя за баг, вы увеличиваете его приоритет, и он будет исправлен быстрее! Особенность сегодняшней акции также в том, что можно голосовать даже за отложенные к исправлению ошибки (статус "Deferred"). Итак, чтобы улучшить себе жизнь, не поленитесь и проголосуйте! Для этого:

1. Идите в систему учета Flex-багов: http://bugs.adobe.com/flex
2. Войдите (или зарегистрируйтесь).
3. Кликните по ссылке "Find Issues" ("Найти баги").
4. В левой колонке в списке "Project" выберите "Flex Builder" или "Flex SDK".
5. В "Issue Type" выберите "Feature Request" или "Bug".
6. Кликните кнопку "View". Появится список всех запрошенных во Флекс фич / найденных багов. Изучите список и выберите в нем важные для вас элементы.
7. Просматривая баг, можно кликнуть по ссылке "View" (находится рядом с меткой "Votes" в левой колонке).
8. На открывшейся странице вы можете добавить ("Add") свой голос за этот баг. Можно там же добавить свой комментарий, и объяснить, почему этот баг так важен и почему его нужно срочно исправить.

Не забывайте, что можно также добавлять новые баги — но убедитесь сначала, что его еще нет в системе.

Друзья! Давайте, вместо того, чтобы жаловаться на индусов, поможем разработчикам Flex найти самые злобные баги!

Попиарьте это, пожалуйста.

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

30.Январь.2008

Применение HTTPService — новая статья во Flex-wiki

Buran опубликовал во Flex-вики новую мини-статью "Применение HTTPService" — об использовании компонента, упрощающего выполнение HTTP-запросов. Попросил ногами не бить :)

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

27.Январь.2008

Лучшие Flex-приложения рунета — все в одном

Костя Ковалев придумал собрать все флекс-приложения рунета в одном месте.

Сейчас это просто запись в блоге, в комментариях которой можно указать флекс-проект. А в перспективе это превратится в серьезный ресурс, отображающий флекс-потенциал рунета. Хорошо было бы иметь такую информацию под рукой, чтобы заказчикам показывать? Конечно! Так что не ленитесь, идите и делитесь своими ссылками.

Posted by: Rost at 04:56 PM | Comments (2)

25.Январь.2008

Локализация флекс-приложений — лицом к людям

Знаете ли вы, что во Flex 3 локализация приложений стала лучше в разы? Что теперь флекс-приложение может быть скомпилировано под основной язык и подгружать языковые ресурсы для других языков на лету? Что локализуются не только фразы, но и даты, валюта, и т.д. и т.п.? Я упустил эти моменты, а вот Junik — не прошла мимо и написала для нас отличную заметку о локализации во Flex 3. Спасибо тебе, Юля!

Update: Вы уверены, что используете во Flex Builder все возможности кодирования? А знаете ли, что делает шорткат Ctrl + Shift + P?

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

23.Январь.2008

Adobe CoCoMo Private Beta — доступ желающим открыт

Я писал, что приглашаются желающие для участия в приватном тестировании Adobe CoCoMo. Там же объяснялось, что CoCoMo — это движок для онлайн-сотрудничества, реализованный в виде клиент-серверного Flex-фреймворка: набор flex-компонентов плюс веб-сервисы. Можно увидеть простую демонстрацию его работы в блоге создалетей CoCoMo.

Вчера мне пришло письмо из Адоби. В нем сообщалось, что я принят в эту программу. Для подтверждения моего участия предложили пройти на сайт Adobe Prerelease для регистрации. Сделано; ответили обещанием выслать ссылку для собственно доступа к программе. Сегодня увидел в почте эту ссылку, прошел по ней, получил доступ.

К чему пишу: если вам это интересно — поучаствуйте. Я же постараюсь написать о своих впечатлениях от этой штуки.

Posted by: Rost at 08:36 PM | Comments (4)

30.Октябрь.2007

Дима Кочетов о том, как утолить жажду постоянного дебага Flex 3

Вы, наверное, уже заметили, что Flex 3 стал значительно быстрее компилировать приложения, и это чудесно совпало с тем, что он же перестал разделять имена релизной и дебаг-версии swf-файла при компиляции (Flex 2 приписывал к не-релизным версиям суффиксы -debug и -profile). К тому же, по умолчанию Flex 3 компилирует дебаг-версию. Все это — следствия нового подхода к отладке флекс-приложений. Новое поведение компилятора стало сюрпризом для многих разработчиков, иногда приятным, иногда не очень: имя файла то же самое, а размер подозрительно раздут. Да и Debug-версия Flash Player будет людям с устаревшим Flash Debug Player'ом вопросы ненужные показывать ("Where is the debugger?")

Не проблема: как во Flex Builder 3 компилировать релизные версии swf-приложения, пишет Дима 'Reijii' Кочетов.

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

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

Видео: генерация геттеров и сеттеров во Flex Builder

Записи Кости Ковалева пропускать вообще нельзя, а эти две и подавно. Вот Constantiner показывает собственное видео о том, как обойти недоделки Flex Builder и реализовать генерацию геттеров/сеттеров с помощью плагина Eclipse Monkey, а вот он рассказывает уже о том, как такое видео можно сделать самому — запись видео с экрана с помощью бесплатной и опенсорсной CamStudio.

А еще вчера (не кликайте пока) Дима 'reijii' Кочетов прислал ссылку на 30-дневный триал видео-уроков по Flex. Темы: Flex 2: Advanced Visual Programming course и Flex 2: Rich Internet Applications course. Вообще эти уроки не бесплатные, но по ссылке вы найдете логин и пароль для доступа к 30-дневному триалу. Только что проверил — работает. От него же: линк на лучшие flex-приложения на flex.org.

Posted by: Rost at 01:38 PM | Comments (7)

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

Челябинские флэшеры настолько суровы, что пишут код на заборах. Сборник док-хитов у Юры Ярового и журнал Life.Flash

Меня все больше радует журнал Life.Flash. Записи делаются не каждый день, но автор держит их качество на высоком уровне. Многих блогу этому посетителей, и энергии автору.

И не пропустите это: Юрий Яровой собирает и выкладывает лучшие статьи по Flash / SWFObject / Flash Lite / AIR / RadRails / Ruby on Rails и Flex, которые по тем или иным причинам исчезли из сети. Там уже есть и переводные суперстатьи Андрея Горбатова, и исполненные рабочей ярости манускрипты Великого и Ужасного Майкла Клишина (никогда не ставьте на него ссылки), и цитата от Алексея «Vooparker» Аникутина, вдохновившая на заголовок к этой записи: челябинские флешеры настолько суровы, что пишут код во Flash IDE. Риспегд!

Кстати, FDTracer — плагин для FlashDevelop 3. Полку флэш-логгеров прибыло!

Posted by: Rost at 10:46 AM | Comments (7)

16.Август.2007

Flex-Ajax Bridge Beta 4 выложен в Adobe Labs

Хорошие новости — до 26 июля 2007 года Flex-Ajax Bridge был доступен только как часть Adobe Live Cycle Services (~>150MB), как видно на этой вики-странице от 13 июля 2007 г., а теперь FABRidge можно скачать как часть Flex 3 SDK Beta Daily Builds. Это лучше, потому что SDK весит в четыре раза меньше (~40MB).

Posted by: Rost at 12:40 AM | Comments (5)

08.Август.2007

Flexipedia: русскоязычная флекс-вики восстановлена

По адресу wiki.flash-ripper.com открыта и настроена русскоязычная флекс-вики. В эту базу знаний вошли все материалы, созданные и переведенные флекс-сообществом рунета для предыдущей версии вики.

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

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

Ссылки:

Завершая редактирование статьи, не забывайте ставить в конце авторскую метку формата "--~~~~", чтобы оставить свою подпись.

Все сомневающиеся и обсуждающие политику вокруг вики идут лесом.

Posted by: Rost at 06:54 PM

22.Июль.2007

Flex 3 и Adobe AIR - как бы между прочим

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

Итак, новости 5 дней от роду:

* Что нового во Flex 3 от Matt Chotin.

* Майк Чэмберз знакомит с Adobe Integrated Runtime (AIR) beta.

Скачать:

* Flex Builder 3

* Adobe AIR beta

Posted by: Rost at 09:47 PM | Comments (5)

06.Июнь.2007

Легкий стриптиз Flex 3 в исполнении Тэда Патрика и Константинера

Костя Ковалев выложил уже несколько статей по поводу Flex 3:

* Flex 3 Beta

* Flex Builder 3 для дизайнеров

* Flex Builder 3 для разработчиков

Хорошие новости, кстати.

Posted by: Rost at 03:44 PM | Comments (1)


++