Вышел плагин к Visual Studio для создания Flex-приложений. Он называется Tofino Beta.
В этой бета-версии продукта уже есть отладчик с возможностью расставить точки останова как в AS3, так и в MXML, простая инсталляция (Flex SDK идет в составе плагина), поддержка SWC (в том числе в Object Browser'е). Правда, еще нет intellisense, но будет, а также будут добавлены средства интеграции Flex и .NET. Также в финальной версии производители обещают сохранить бесплатность продукта.
// узнал в .NET-блоге на habrahabr.ru от Павла Дмитриева
Апдейт для Flex Builder 3.0.2 качать здесь. Пробная версия Flex Builder тоже обновилась. Студенты и преподаватели — не забывайте, что вы можете получить Flex Builder бесплатно.
-target-player=10
Мой опыт показывает, что применение апдейтов Flex Builder позволяет сэкономить массу времени.
Чтобы использолвать Flash Player 10 с Flex 3 или Flex 4 нужно взять сборку Flex 3 или Flex 4 SDK от 15 октября 2008 года (или позже). В ней уже содержится новый Flash Player 10 Debug Version, файл flex-config и playerglobal.swc, так что руками править ничего не придется. Качать отсюда: Download Flex 3 SDK или отсюда: Download Flex 4 SDK. Затем распаковать скачанный архив в каталог на жестком диске, запустить Flex Builder, зарегистрировать в нем новый SDK 3.2 и при создании нового проекта выбрать этот SDK. Эти шаги показаны на скриншотах от 4 по 8 в статье How To Build Flash Player 10 Applications using Flex SDK — она появилась еще для беты Astro, но шаги остались теми же, только теперь не нужно редактировать конфиги.
Этим вы сохраняете Flash Player 10 для Flash Plugin Switcher и теперь он сможет переключаться между ним и проигрывателями других версий.
Если вы хотите компилировать Flex-библиотеки или собирать приложения из командой строки, то рекомендую почитать офдок: Targeting Flash Player 10 и статью Юры Ярового "Как скомпилировать ролик под Flash Player 10 при помощи Flex SDK 3". А если не хотите качать весь SDK каждый раз при обновлении — читайте первый комментарий от Flop здесь.
Таким образом, флекс-разработчики получают небольшое преимущество перед флэшерами, которым официально ждать еще почти месяц. Может быть, это неплохой стимул обратить внимание на Flex, если вы еще этого не сделали?
, если вы читаете цикл из пяти ясных статей "Рассудочное познание itemRenderer во Flex" в Adobe Flex Developer Center. Автор — Питер Энт из Adobe. Он последовательно излагает жизненно важные концепции и популярные ошибки в использовании рендереров. Познавая цикл рассудком, вы быстро поймете, почему оказался неэффективным метод панического клика, который, увы, многие применяют столь же упорно, сколь и безуспешно — снова и снова (сам не безгрешен, каюсь).
Станет ясно, что многие часы, проведенные в попытках заставить строку датагрида светиться зеленым, могли быть минутами пользы и удовольствия, потому что работать с рендерерами действительно легко, как только вы поймете главную мысль: не нужно пытаться управлять рендерером снаружи. Рендерер невозможно удержать в руках. Рендерера не существует, ясно? Только сам рендерер может управлять собой изнутри, основываясь на своих данных (или на данных родительского компонента).
Читайте Питера Энта. Понятнее чем он, на эту тему не писали. Итак, все пять частей:
Усвоив это интеллектуальное наследие от Питера Энта, человека, ответившего на тысячи вопросов по Flex начиная с версии Flex 1 (он действительно работал в поддержке Flex, а теперь перешел в новый биг-бизнес-проект Genesis от Adobe), вы можете немного расстроиться: столько времени было потеряно зря в попытках брутфорс-атак на непокорные рендереры, когда достачно было силы мысли! Но вы не расстраивайтесь: ведь теперь-то вы все про них знаете и сможете ими управлять как только захотите.
И не только про рендереры узнаете вы много полезного: фактически, этот цикл статей учит сразу нескольким важным концепциям Flex, таким как создание компонентов путем расширения существующих, взяимосвязь между MXML и AS3, почему интерфейсы так важны для работы приложения, как устроены состояния и переходы, и как все же покрасить строку датагрида в зелененький.
Кстати, поскольку Питер Энт теперь за Флекс официально не отвечает, самое время прочесть его блог — как, в некотором смысле, завершенный учебник по Flex.
"Resolved: (IDEADEV-14365) Flex 2 (ActionScript + MXML) support in IDEA" — такой статус теперь имеет заказанная еще Майклом Клишиным поддержка Flex-разработки в IntelliJ IDEA. 2 октября Дмитрий Жемеров написал, что поддержка Flex в IDEA реализована; багрепорты по конкретным моментам и запросы новой функциональности размещайте отдельно.
Как в IDEA выглядит Flex/JavaScript-дебаггер, можно увидеть на скриншотах и видео. Вот - официальный текст о поддержке редактирования Flex-кода. А вообще поддержке JavaScript и Flex в IDEA посвящена отдельная страница и немалая выдача в поиске.
FDT опасносте! Проверим? (Важно: ссылка изменена на свежую, менее бажную версию). См. также все свежие билды ветки Diana.
Ниже в посте выражалось возмущение при упоминании о том, что многие мечтают работать в харьковской компании TeamDev. Открою завесу тайны: TeamDev участвует в создании IntelliJ IDEA от JetBrains и MyEclipse от Genuitec. JetBrains рекомендует продукты TeamDev. И сейчас TeamDev ищет Flex-разработчика в Харькове. Обратите внимание.
Райан Стюарт выуживает из Мэтта Хотина разные факты относительно Flex 4.
Три недели я бился над проблемой сортировки сгруппированных данных во Flex AdvancedDataGrid (используя GroupingCollection). Забывал есть, пить и писать письма Ф. Потрошителю.
И так я данные сортировал, и эдак, а оно все глючило и глючило.
Но сегодня я установил апдейт Flex 3.1.0 и все прошло за 15 минут.
эхх
Встречайте новые правильные флекс-блоги на понятном языке:
The Power of Flex — FlexPower.in.ua Примеры статей: Нужен ли мне Cairngorm?, перевод: Разработка Flex RIA с помощью микроархитектуры Cairngorm. Часть 1: Введение в Cairngorm.
Go!Verla Flex блог — TearAway-Tea.com/blog Примеры статей: 5 копеек о Mate Flex Framework и Презентация "Adobe AIR: Десктоп-приложения для веб-разработчиков" с UA WEB 2008.
Если я уже писал о том, что у семьи RiaPriority.com мега-пополнение, то напишу еще раз:
Vertex, флекс-блог Павла Кожина — RiaPriority.com/blogs/vertex.php Пример статьи: Пейджинг на лету (как раз к вопросу о том, как отобразить во Flex много букв).
Пешите есчо и не размещайте сайты на бесплатных хостингах!
Провели с Андреем Панасом очень содержательную скайп-беседу. В ходе обмена мнениями и ссылками я узнал много нового, теперь добавлю это к тому, что знал раньше.
В последнее время я много работаю с AdvancedDataGrid — мощным, сложным и еще не полностью отлаженным компонентом из состава Flex Data Visualization Components. То, что он не отлажен до конца, можно увидеть по списку открытых багов Flex Data Visualization Components — там AdvancedDataGrid лидирует с 35 34 исправлениями. Круто! Пока я писал пост, один баг был исправлен!
Если вам интересно, что курят самые продвинутые флекс-разработчики, то удовлетворите интерес:
Сейчас идут работы по добавлению к фиду 360|Flex поиска.
Так сказал Ted :)
Flex не обновлялся с февраля 2008 года. За это время в него было внесено множество доработок, в том числе и по требованиям сообщества. Самые важные дополнения и завершенные багфиксы приобрели форму нового официального релиза, обновиться до которого можно прямо из меню Flex Builder: Help > Search for Flex Builder Updates...
Заведующий флексом Мэтт Хотин — кратко о составе релиза:
Важное примечание: исходный код компонентов визуализации данных, куда входят OLAP, AdvancedDataGrid, Automation и Charting, идет только с Flex Builder Pro и по умолчанию не распакован. Достать из пучин его можно вот так, а вот еще один старый рецепт.
А еще у вас могут ошибки во Flex Builder выводиться на русском — зависит от локали.
Как обещал вчера, расскажу о новом (и похоже, пока единственном, зато каком!) плагине к Flex Builder. Плагин называется Enterprise IDE Plugin™. Разработчик: компания IDE Factory.
Enterprise IDE Plugin — это набор инструментов для архитекторов, разработчиков и менеджеров проектов, созданный для упрощения разработки приложений в среде Adobe Flex Builder 3. Плагин Enterprise IDE в данный момент выходит в публичный, ограниченный по времени beta-релиз.
Плагин Enterprise IDE не заменяет и не вытесняет Flex Builder, но скорее наращивает его мощность. С помощью инструментов повышения производительности и встроенной поддержки основных open-source фреймворков для Flex и ActionScript, Enterprise IDE превращает Flex Builder в исключительную среду разработки приложений enterprise-уровня. Он включает в себя новые инструменты для навигации по коду, генераторы проектов, классов и методов, средства автоформатирования, документирования и создания метрик кода, а также инструменты общего назначения для повышения продуктивности Flex-разработчиков и архитекторов.
Почти за каждой ссылкой находятся иллюстрации, подобные нижеследующей:
Источник: трекер IDE Factory.
Установил, работает.
Alex Harui вместе с Gordon Smith поучаствовали в первом выпуске Flex Authority — нового бумажного журнала про Adobe Flex и AIR. Дизайн в духе перезрелого футуризма 80-х: Подписаться можно уже сегодня — $49.95 в год за печатное издание и $29.95 за PDF. Алекс обещает ничего на этом журнале не заработать, но надеется, что на нем заработают издатели. На странице подписки можно узнать все ее варианты, а также то, что Google Checkout не поддерживает Russia и Ukraine. Зачеркнутое — это просто баг на странице сайта. Смелые ребята легко убедятся в том, что Google Checkout подджерживает и Ukraine, и Russia — просто нажмите 'Add' и затем красивую кнопку 'Google Checkout'. Вы перейдете на страницу оплаты Гугля, там с списке эти страны есть. За доставку в Украину взяли $10. Жду первый номер!
Чем больше слушаешь, тем лучше видишь: вот регулярные аудио-выпуски про Flex.
Сегодня количество выпусков перевалило за полсотни. Встречайте номер 51 — это практически прямая трансляция первого дня проходящей сейчас в Сан Джозе конференции 360|Flex, 18-20 авг. В этом выпуске: беседы с Ben Stucki, Kevin Fauth и Ron Zasadzinski.
Архив аудио-записей TheFlexShow содержит массу интересных треков, от Papervision3D до Mate Flex Framework с Лаурой Аргуэльо и Flex Gumbo, Prana и Mojos с Мэттом Хотиным.
Время от времени звучат нарекания на тот или иной недостаток Flex Builder'a. Некоторые ребята признают, что могли бы сделать его лучше, будь у них такая возможность. Если вы хотите усовершенствовать Flex Builder, то знайте — это реально. Главное, ответить на вопросы: что именно расширять и как расширять. Начнем с этого вопроса:
В сети этой документации нет, есть только эта страница в Flex 3 LiveDocs, где Vince Genovese из Flex Doc Team в комментариях поясняет написанное выше. А в этой записи блога "Flex Doc Team" он еще и призывает отписаться всех, интересующихся расширением Flex Builder.
Итак, если вы — Java-программист и/или желаете/умеете создавать плагины к Eclipse, то некторые карты уже у вас в руках. Некоторые, так как API расширения открывает не весь Flex Builder (являющийся плагином к Eclipse), а лишь его часть. Но и здесь есть хорошие новости:
В комментариях к первой статье Фил Коста, тогда еще менеджер проекта Adobe Flex, пояснил, почему Flex Builder открыт для расширения частично, а не полностью. Дело вовсе не в желании Adobe заскретить или закрыть код. Причина — в намерении обезопасить разработчиков плагинов. API расширения должно быть неизменным в будущем. В противном случае все плагины-расширители начнут ломаться при обновлении Flex Builder. Это будет создавать новые проблемы разработчикам плагинов. Чтобы избежать этого, Adobe решила открыть те API, которые гарантированно не будут изменяться в следующих версиях.
Там же менеджер проекта Adobe Flex призывает разработчиков запрашивать у Adobe дополнительные точки расширения Flex Builder, и вообще не молчать, а делиться идеями, мыслями и требованиями.
Так что теперь — все карты в руки! Завтра опишу большой продажный плагин к Flex Builder.
Чтобы разобраться, зачем нужен проект FlexCover, обратимся к определению:
Покрытие кода — мера, используемая при тестировании ПО. Показывает процент покрытия исходного кода программы тестами (дальше читайте в Википедии).
Что такое Flexcover? Это инструмент покрытия кода для Flex, AIR и AS3-проектов. Он включает в себя модифицированную версию AS3-компилятора, которая добавляет некоторые дополнительные вызовы функций в результирующий код SWF или SWC-файла. Во время выполнения эти вызовы функций посылают информацию о покрытии кода приложения отдельному инструменту CoverageViewer.
Модифицированный компилятор также генерирует отдельный файл "метаданных покрытия" ("coverage metadata"). В этом файле описаны все возможные пакеты, классы, функции, блоки и строки кода, а также имена соответствующих файлов с исходным кодом.
См.: сайт проекта FlexCover (cоотвествующие модификации Flex SDK можно найти в проекте flexcover-sdk на Google Code), скриншот инструмента FlexCover в работе, сайт автора — Джозефа Берковица и его объяснение покрытия условий. А вот флекс-титан Александр Гахов сделал много хороших закладок с тэгом Ant.
И еще ссылка по теме: Модели зрелости процесса тестирования ПО.
Ну что флексеры и флэшеры, попадем в мир взрослого девелопмента?
Недавно Андрей Микитюк задал мне простой вопрос — как отменить биндинг переменной во Flex? Честно говоря, я не смог ему ответить, зато он сам нашел готовый ответ в блоге одного из индийских Flex-евангелистов Raghunath Rao Thricovil, или просто — Raghu.
Тем, кто еще не в курсе, напомню: связывание, или биндинг данных (data binding) — одна из мощных фишек Флекса. Фишка в том, что переменная a связывается с переменной b и после этого значение a будет изменяться каждый раз, когда изменится значение b — они связаны (binded). Один из простейших примеров — текст, вводимый в поле ввода, автоматически появляется в другом месте приложения при вводе / удалении каждого нового символа. При грамотном применении биндинг позволяет сэкономить кучу кода и времени. Для начинающих (и не только) есть пара коротких уроков по биндингу — очень рекомендую.
a
b
bindProperty
unwatch()
Вообще, у Raghu весьма полезный блог.
Представьте, что вы обнаруживаете в своем Flex-приложении баг, внесеный не вами, а разработчиками самого фреймворка. Ошибка явно находится в одном из "родных" классов. Вы даже знаете, как этот баг исправить, да вот как заставить Flex Builder это исправление подхватить без перекомпиляции всего фреймворка, ведь вы обычно работаете с уже готовым, представляющим фреймворк SWC-файлом типа 'framework.swc', а не c его исходным кодом, который так заманчиво доступен?
Чтобы быстро исправить ошибку Flex SDK для своего приложения, достаточно скопировать из фреймворка в свой проект соотвествующий файл класса с багом и разместить его в том же пакете. Например, класс mx.collections.Sort пойдет к вам в каталог src/mx/collections/Sort.as. Как правило, файлы классов включают также и дополнительный файл с версией фреймворка, так что скопируйте аналогичным образом и mx.core.Version.
mx.collections.Sort
mx.core.Version
Теперь ваш класс будет перекрывать оригинальный класс из Flex-фреймворка, и любые ваши изменения в этом классе войдут в приложение, как будто бы они были внесены в сам фреймворк.
-incremental=true
Проблема легко решается, достаточно один раз "прогнать" проект через компилятор с отключенным кэшированием, а затем можно снова включить его. Чтобы отключить кэширование, зайдите в диалог свойств проекта Properties for [имя проекта] > Раздел Flex Compiler. Там в поле "Additional Compiler Arguments" добавьте через пробел один аргумент: -incremental=false и дайте проекту "сбилдиться". Затем вернитесь в этот же диалог и удалите добавленный параметр, таким образом вернув инкрементальную компиляцию по умолчанию.
-incremental=false
Как вы знаете, Flex-компонент AdvancedDataGrid (ADG) дает такие возможности, что старый добрый DataGrid (DG) начинает нервно покуривать в сторонке. Кратко о новом в AdvancedDataGrid:
textAlign
horizontalAlign
verticalAlign
Но небольшой баг тут все же есть. Во-первых, разработчикам Flex SDK стоит поддержать 'старое' свойство стиля textAlign (используемое в DG), продублировав в нем поведение нового horizontalAlign, чтобы лишний раз не конфузить разработчиков. Во-вторых, в документации к компоненту стоит явно указать это различие между ADG и DG, и вообще все такие мелкие различия, так как тема актуальна.
А вообще — AdvancedDataGrid очень и очень радует.
Новость от 3 декабря 2003 года:
"Flex -- это новая серверная технология. Brady -- это визуальная среда для разработки и отладки Flex-приложений. Partridge -- это проект внедрения инструментов разработки Flex в популярную бесплатную среду разработки Eclipse.
Таким образом Macromedia продолжает внедрение в среду опытных, профессиональных разработчиков, предлагая им средства для расширения функциональности "классических" приложений. Основная идея состоит в том, чтобы скрестить мощь и производительность десктоп-приложений с гибкостью и коммуникабельностью интернет-разработок.
Отвечая на часто задаваемый вопрос: "А как же Longhorn, Avalon, XAML, Sparkle и т.д.", представители Macromedia заявляют следующее: "Да, эти новые продукты и технологии от Microsoft похожи на то, в чем мы были и продолжаем быть первыми. В обоих случаях используются описания из XML-конструкций, компонентые решения и веб-сервисы для связи приложений. Мы не сомневаемся, что эти две среды будут взаимно обогащать друг друга."
Вдумайтесь: чуть менее, чем через полгода, Флексу исполнится пять лет.
Если вы еще не знаете: уже более двух недель Adobe бесплатно и официально раздает Flex 3 Professional студентам, аспирантам и образовательным учреждениям всех стран. Вряд ли Адоби передумает, но я все же рекомендую вам поспешить воспользоваться этой возможностью. И не забудьте поделиться хорошей новостью с друзьями. Потому как такая раздача пряников — сами понимаете, дело правильное и не каждый день бывает.
Чтобы получить Flex 3 Professional бесплатно, нужно предоставить доказательство вашей прямой причастности к образовательной сфере и получить в ответ серийный код продукта. Правильными доказательствами будут:
Что за крики я слышу? "Рост, ты что, забыл перевести текст в списке!" Нет, я не забыл. Я всего лишь уверен, что человек, осиливший этот перевод самостоятельно, сможет осилить и Флекс; верно и обратное. А если серьезно — я просто опасаюсь кривым переводом исказить информацию. Лучше разбирайтесь на местах, что из этого списка подойдет для вас. Я так понимаю, что отсканированного студбилета или удостоверения аспиранта / работника будет достаточно (первые три пункта). Также подойдет и бумажное письмо на бланке учебного заведения, подтверждающее ваш образовательный статус (четвертый пункт). Знающие — пожалуйста, поправьте меня, если я не прав.
Есть и FAQ по вопросу бесплатного Flex 3.
Друзья! Спасибо за помощь в выборе нового сервера для Flex-вики. Персональное спасибо Алексею Солодовникову, он связался со мной и предложил свой сервер в Европе для тестирования (кажется, писал не только он, но я сейчас нашел только его письмо).
А самое бесповоротное спасибо Денису Кузнецову, который помог выбрать окончательное хостинговое решение. Теперь нужно убедиться, что это _именно _то _что _нужно и окончательно переехать Флекс-вики.
Собственно просьба: скажите, быстрее ли работает Flex-вики на новом хостинге, чем на старом? (Если найдете ошибки в кодировке — пожалуйста, укажите адреса страниц).
Команда AnyChart.Com Team продолжает радовать. На этот раз они раскопали, как создать кастомный design-time preview для своих Flex компонентов. Привожу русскоязычный вариант статьи (оригинал тут) от авторов:
Иногда необходимо сделать кастомный Design-time Preview для компонента (это его вид в "Design View" Flex Builder-а). Для этих целей в Adobe Flex 3 SDK есть недокументированый класс mx.core.UIComponentGlobals. В этом волшебном классе лежит не менее волшебное поле designMode:Boolean.
mx.core.UIComponentGlobals
designMode:Boolean
В Design View среда Flex Builder пытается "выполнить" код и отобразить что-либо, следовательно можно прописать проверку на designMode и делать то, что хотим.
designMode
Итак: 1. Возьмем ActionScript-компонент для Flex Bulder 3. 2. Заоверрайдим метод createChildren():
createChildren()
override protected function createChildren():void { super.createChildren(); if (UIComponentGlobals.designMode) { //здесь мы создаем child-ы, которые будут в design mode } }
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-приложения и пример компонента.
Есть плагин Flex RssPanel, позволяющий читать содержимое Flex Cookbook и Adobe CSS Advisor прямо из Flex Builder. Плагин устанавливается стандартным образом из среды разработки Flex. Адрес плагина: http://flex.actionscript.it/plugins/Rss_Readers/
Плагин умеет читать посты, комментарии и правки к Flex Cookbook, а также искать в ней.
Хотите помочь Adobe подправить Flex SDK, но не знаете, с чего начать? JabbyPanda знает; он прислал мне две ссылки: 1) Как заслать патч в Adobe. 2) Форум по Open Source Flex.
Чтобы отправить патч для Flex:
Вот веселуха начнется :)
Совсем недавно Adobe Flex SDK стал проектом открытого кода. И вот, Том Чивертон уже создал первый патч, принятый Adobe во Flex Framework. Суть патча: простое добавление к build.xml для работы на 'unix'-системах, в т.ч. обработка переменных JAVA_HOME и ANT_HOME (автор тестировал патч на Ubuntu). Мама сыну: и где это ты так испатчкался?
Братья-корейцы жгут: двумерная диаграмма инициализации Flex-приложения (кликабельно):
Мэтт Хотин выложил важное видео с фактами про Flex. За 7 минут вы узнаете: секрет успеха опенсорс-проекта, кто есть друзья Мэтта Шотина, проблемы Мэтта с Flash и Элаем Гринфилдом ("он не так крут, как все думают"), как делается Flex и почему кодеры есть рабы кьюэйщиков, из кого состоит команда разработчиков Flex и как она собирается перейти на проектную методологию SCRUM, и еще массу важных фактов! Смотрите, слушайте, улыбайтесь:
И это видео — не единственное, отснятое бездельниками из команды разработчиков Flex.
Добрый человек выложил полный список CSS-свойств компонентов Flex 3. Эту страницу можно использовать для поиска того или иного свойства стиля у того или иного компонента.
Пионер флекс-билдинга ДагМакКун сдержал слово и выложил обещанное видео со своим выступлением на конференции 360|Flex в Сиэттле. В этой лекции Даг делится опытом, отвечая на следующие вопросы: как, когда, зачем, когда не стоит вообще, а когда все же стоит, и как начать переделывать Flex Framework в тех местах, где его устройство сдерживает ваш творческий порыв (или просто вы видите явный баг).
На самом деле это видео о разработке собственных компонентов: Doug McCune @ 360Flex Seattle - Custom Component Development. Скачать полную версию видео можно здесь (286МБ).
Убедиться в том, что Даг таки знает, как и в каком месте доделывать Flex SDK, можно на совсем свежем примере из его блога: Даг решает популярную задачу отслеживания всех листенеров, присоединненых к данному визуальному компоненту, изменяя класс FlexSprite.
Кстати: голос, английский и чувство юмора Дага столь хороши, что делают просмотр этого видео полезным даже для тех, кто уверен в своем незнании английского. Вы узнаете его.
Документация по Flex утверждает, что метаданные используются во Flex-приложениях для указания компилятору и парсеру дополнительных параметров классов, их свойств или методов. Например, в коде AS3-класса можно указать его события с помощью мета-тэгов [Event] (пример). После этого компилятор и парсер кода начинают "понимать" указанные события и при использовании данного AS3-класса в качестве MXML-компонента среда разработки Flex Builder будет выдавать к нему соотвествующие подсказки кода. А указав для свойства класса мета-тэг [Inspectable], вы сделаете его доступным инспектору свойств компонента (панель "Flex Properties"). Это встроенные мета-тэги, вот их полный список: Metadata tags in Flex 3. Присказка закончилась, дальше идет сказка.
describeType()
Более того, можно не только получить доступ к встроенным метаданным в время выполнения, но и вводить собственные мета-данные, не предусмотренные разработчиками Flex Framework. А чтобы они вместе со встроенными мета-данными попали в откомпилированное приложение, нужно указать их в опции компилятора -keep-as3-metadata.
-keep-as3-metadata
Вот более свежие примеры от Эли Гринфилда, демонстрирующие, как с помощью собственных мета-данных можно вызывать функцию при каждом изменении некоего AS-выражения, или как создавать одно- и дву-направленные связывания между частями вашего компонента, или как в декларативном стиле назначить обработчик события части вашего компонента (online demo).
И Кристоф, и Эли предоставляют исходники к своим экспериментам (не очень сложные).
Вечер. Офис опустел. Я собираюсь домой и сейчас распечатаю первую часть документа, называющегося "Внутренности Flex Framework". Скачайте и почитайте его вместе со мной — "Flex Framework Internals Part 1" (есть также Part 2). Начинаем через 5 минут.
К слову: О парнях из Adobe. Эли Гринфилд — еще больший минималист лентяй, чем я. Путь к Флекс-классам у меня: D:/dev/flex/classes. У него: C:/dev/f2 :)
Сегодня в Skype-чате UAFPUG прозвучала фраза флэш-разработчика Олега Галабурды:
Собсна, я в этом месте меняю своё мнение про Флекс, а точнее про представление MXML -> AS3. :) Итого - Флекс не так уж и страшен, как его малюют, но отгребать рискую долго.
Этот эффект вызвало прочтение короткой статьи "Flex для Флэшеров" и пара фраз в чате!
Вчера сервис учета багов Adobe JIRA сообщил мне, что исправлен баг в дистрибутиве BlazeDS.
По этому случаю можно приблизительно оценить скорость обработки дефектов, задокументированных через официальный ресурс Adobe. Уточню: именно скорость обработки пользовательских заявок, а не время исправления ошибки, которое может сильно варьроваться в зависимости от ее сложности.
Здесь сложность близка к минимальной. Ошибка заключалась в наличии одного лишнего символа в имени файла: детальное описание и способ обхода я описал в момент обнаружения и в тот же день создал в Adobe JIRA соотвествующую запись. Данная ошибка дожна быть проста в исправлении; возможно, она вообще является чисто механической.
А поскольку временем исправления ошибки в данном случае можно пренебречь, то оценим время обработки заявки на исправление ошибки в Adobe.
Дата обнаружения ошибки: 2 февраля 2008 г. (суббота); дата исправления: 18 февраля 2008 г. (понедельник). Итого 16 дней. Вычтем выходные (6 дней) и получим 10 дней. Дадим один день на исправление, regression testing, упаковку и доставку. Итого — девять рабочих дней.
Весьма оперативно работают в Adobe, не так ли? Голосовать за "любимые" баги сегодня — значит меньше работать завтра!
Update: Приятно удивился, насколько быстрее стал работать сервер Adobe JIRA.
Еще один из самых FAQ-овых вопросов: с чего начать изучение Flex? Люди, совершающие самые первые шаги во Flex, интересуются простейшими примерами.
Обычно я рекомендую обращаться за помощью в группу ruFlex. Но хочется также давать ссылки на статьи типа "мое первое Flex-приложение" или "Флекс для Флэшеров" И прежде, чем писать статью на тему "флекс с самого начала", я хотел бы спросить у вас — может быть, есть готовые ссылки, которыми мы сможем делиться с начинающими, в том числе и на русском? Давайте поделимся!
У меня часто спрашивают: Рост, есть ли у тебя архив старого сайта Novemberain.com?
Конечно, у меня есть архив блога Майкла Клишина, причем он всегда под рукой. Вот посты Майкла Клишина в категории 'Flex' состоянием на 9 февраля 2007 года. А вот вообще весь его блог за указаный период.
Архивы всех сайтов есть у всех нас благодаря великолепному сервису web.archive.org.
5 февраля 2008 г. в блоге JetBrains IDEA был анонсирован выход новой версии редактора IDEA 7.0.3 с продвинутой поддержкой Flex-приложений. Участники предрелизной программы JetBrains, "Early Access Program" (EAP) уже могут это попробовать:
mx:Script
Хотите проверить, как это работает? Вот ссылки:
Не секрет, что IDEA высоко ценится Java-разработчиками за ее превосходное качество. Многие просто называют ее лучшей. "Most Intelligent" — называеют ее авторы.
Поддержку Flex в IDEA хотим и ждем давно. Похоже, разработчики из JetBrains решают эту задачу на "отлично". Но — кто уже пробовал эти новые возможности? Что скажете?
Райан Стюарт обещает, что такого больше не будет. Сегодня в 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 найти самые злобные баги!
Попиарьте это, пожалуйста.
Buran опубликовал во Flex-вики новую мини-статью "Применение HTTPService" — об использовании компонента, упрощающего выполнение HTTP-запросов. Попросил ногами не бить :)
Костя Ковалев придумал собрать все флекс-приложения рунета в одном месте.
Сейчас это просто запись в блоге, в комментариях которой можно указать флекс-проект. А в перспективе это превратится в серьезный ресурс, отображающий флекс-потенциал рунета. Хорошо было бы иметь такую информацию под рукой, чтобы заказчикам показывать? Конечно! Так что не ленитесь, идите и делитесь своими ссылками.
Знаете ли вы, что во Flex 3 локализация приложений стала лучше в разы? Что теперь флекс-приложение может быть скомпилировано под основной язык и подгружать языковые ресурсы для других языков на лету? Что локализуются не только фразы, но и даты, валюта, и т.д. и т.п.? Я упустил эти моменты, а вот Junik — не прошла мимо и написала для нас отличную заметку о локализации во Flex 3. Спасибо тебе, Юля!
Update: Вы уверены, что используете во Flex Builder все возможности кодирования? А знаете ли, что делает шорткат Ctrl + Shift + P?
Я писал, что приглашаются желающие для участия в приватном тестировании Adobe CoCoMo. Там же объяснялось, что CoCoMo — это движок для онлайн-сотрудничества, реализованный в виде клиент-серверного Flex-фреймворка: набор flex-компонентов плюс веб-сервисы. Можно увидеть простую демонстрацию его работы в блоге создалетей CoCoMo.
Вчера мне пришло письмо из Адоби. В нем сообщалось, что я принят в эту программу. Для подтверждения моего участия предложили пройти на сайт Adobe Prerelease для регистрации. Сделано; ответили обещанием выслать ссылку для собственно доступа к программе. Сегодня увидел в почте эту ссылку, прошел по ней, получил доступ.
К чему пишу: если вам это интересно — поучаствуйте. Я же постараюсь написать о своих впечатлениях от этой штуки.
Вы, наверное, уже заметили, что Flex 3 стал значительно быстрее компилировать приложения, и это чудесно совпало с тем, что он же перестал разделять имена релизной и дебаг-версии swf-файла при компиляции (Flex 2 приписывал к не-релизным версиям суффиксы -debug и -profile). К тому же, по умолчанию Flex 3 компилирует дебаг-версию. Все это — следствия нового подхода к отладке флекс-приложений. Новое поведение компилятора стало сюрпризом для многих разработчиков, иногда приятным, иногда не очень: имя файла то же самое, а размер подозрительно раздут. Да и Debug-версия Flash Player будет людям с устаревшим Flash Debug Player'ом вопросы ненужные показывать ("Where is the debugger?")
Не проблема: как во Flex Builder 3 компилировать релизные версии swf-приложения, пишет Дима 'Reijii' Кочетов.
Записи Кости Ковалева пропускать вообще нельзя, а эти две и подавно. Вот 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.
Меня все больше радует журнал Life.Flash. Записи делаются не каждый день, но автор держит их качество на высоком уровне. Многих блогу этому посетителей, и энергии автору.
И не пропустите это: Юрий Яровой собирает и выкладывает лучшие статьи по Flash / SWFObject / Flash Lite / AIR / RadRails / Ruby on Rails и Flex, которые по тем или иным причинам исчезли из сети. Там уже есть и переводные суперстатьи Андрея Горбатова, и исполненные рабочей ярости манускрипты Великого и Ужасного Майкла Клишина (никогда не ставьте на него ссылки), и цитата от Алексея «Vooparker» Аникутина, вдохновившая на заголовок к этой записи: челябинские флешеры настолько суровы, что пишут код во Flash IDE. Риспегд!
Кстати, FDTracer — плагин для FlashDevelop 3. Полку флэш-логгеров прибыло!
Хорошие новости — до 26 июля 2007 года Flex-Ajax Bridge был доступен только как часть Adobe Live Cycle Services (~>150MB), как видно на этой вики-странице от 13 июля 2007 г., а теперь FABRidge можно скачать как часть Flex 3 SDK Beta Daily Builds. Это лучше, потому что SDK весит в четыре раза меньше (~40MB).
По адресу wiki.flash-ripper.com открыта и настроена русскоязычная флекс-вики. В эту базу знаний вошли все материалы, созданные и переведенные флекс-сообществом рунета для предыдущей версии вики.
Сохранены все логины, пароли и прочие данные, введенные участниками Flex2pedia: сохранилось и ваше авторство относительно статей вики: прямо сейчас можно зайти под старым именем и убедиться.
Каждый желающий может поделиться своими знаниями во флекс-технологии или просто перевести свободную статью из документации.
Ссылки:
Завершая редактирование статьи, не забывайте ставить в конце авторскую метку формата "--~~~~", чтобы оставить свою подпись.
Все сомневающиеся и обсуждающие политику вокруг вики идут лесом.
Проверенный факт: новые версии любимых продуктов появляются, стоит только уйти в отпуск. Поэтому на этот раз я решил уехать в такой хитрый отпуск, чтобы с интернетом.
Итак, новости 5 дней от роду:
* Что нового во Flex 3 от Matt Chotin.
* Майк Чэмберз знакомит с Adobe Integrated Runtime (AIR) beta.
Скачать:
* Flex Builder 3
* Adobe AIR beta
Костя Ковалев выложил уже несколько статей по поводу Flex 3:
* Flex 3 Beta
* Flex Builder 3 для дизайнеров
* Flex Builder 3 для разработчиков
Хорошие новости, кстати.
Совсем древнее: 17-20.09.2002, 23-30.09.2002, 01-04.10.2002, 07-11.10.2002, 14-19.10.2002, 20-26.10.2002, 27.10-02.11.2002, 04-08.11.2002, 11-16.11.2002, 18-23.11.2002 25-30.11.2002, 02-07.12.2002, 09-14.12.2002 Сайт заработал 17.09.2002