UAFPUG#2, вторые впечатления.
May 14, 2008 – 6:33 pmИтоги, общие выводы и результаты можно посмотреть/почитать у Роста (1 , 2 , 3), у Романа, у Валерии и Сергея.
Из этих постов становится понятным, что все удалось отлично).
Лучше я поделюсь своими мыслями и ошибками, которые образовались в процессе подготовки и рассказа доклада (Сравнение средств разработки: FDT, FlashDevelop, IDEA, FlexBuilder. Возможности, недостатки, перспективы., http://fpug.org.ua/meeting2) :
В процессе подготовки доклада я понял, что пытался втиснуть в небольшой доклад(всего 2 часа :)) очень много информации. Хотелось обо всем рассказать много и подробно, а получилось все в общем. Каждая из ИДЕ достойна одного и более докладов описывающих все удобства, фичи, ньюансы работы с ней. Еще желательно запустить и показать на большом экране как настроить и куда нажимать, чтобы получить нужный результат. Вывод: нужно более трезво оценивать масштабы доклада
Незнаю как оценили мой доклад слушатели (Рост, ты обещал сделать оценивалку )), но мне кажется я местами налажал, позабывал сказать некоторые обязательные вещи и просто затянул свой доклад, из-за чего подвел Романа — он не успел рассказать вtсь доклад(.
А еще я сильно много говорил слов паразитов, невнятных фраз и спорил со слушателями. Вывод: нужно лучше готовится, делать меньше паузы между словами, исключить из речи слова паразиты и больше спорить со слушателями )
По самому докладу:
Общее пожелание: не затягивайте с публикацией своих докладов. Практика показывает, что лучше сделать это прямо сейчас, иначе трудно избежать долгого “доведения до ума”.
Это относится ко мне на 110%. Но прошу меня извенить очень много информации и нужно привести ее в более удобоваримый вид).
Особо нетерпеливым скажу основные выводы:
- Flex builder 3 пока можно назвать самым мощным средством разработки флекс приложений (да да именно его). Адоб медленно, но верно движется к нормальной IDE, этот вывод я озвучил
- FDT-Enterprise я бы выбрал для разработки чисто флеш/ас3 приложений, но цена кусается (к сожалению просто забыл это озвучить в процессе доклада)
- Большым бонусом этих IDE является то, что ни построены на базе мега IDE — Eclipse
- FDT очень проигрывает Flex builder 3 ценой и отсутствием поддержки mxml, поэтому если намечаются разнообразные проекты (Flex|ActionScript3) то выгоднее использовать Flex Builder
- Счастья нет — все производители очень завязаны на своих “фичах для галочек”, большом количестве готового кода, готовыми алгоритмами, протухшими решениями 10 летней давности, стереотипами и боязнью сделать что-то более удобное
Основной доклад приводится в порядок, не пройдет и года как он выйдет в свет ![]()
UAFPUG#2, первые впечатления.
May 12, 2008 – 8:01 amUAFPUG#2 прошел успешно и удачно).
Получил массу удовольствия как от встречи, так и от прогулки по Киеву.
Единственным недостатком был мой опрометчивый выбор ехать из Харькова в Киев на автобусе — к вечеру сильно хотелось спать и мозг отказывался генерить мысли.
На днях я подготовлю более подробный отчет и выложу свой доклад и материалы по нему.
Плюшки для Flex Builder
April 29, 2008 – 5:51 amНа InsideRIA появилась интересная статья о том как можно сделать работу в Flex Builder более комфортной.
Переводить я ее не буду) — просто расскажу, что думаю:
TODO/FIXME плагин — полезная вещь использую ее практически с самого ее появления (больше года). Позволяет выводить //TODO и //FIXME коментарии в соответствующей панели. Единственный недостаток в том, что если коментриуется блок кода который в свою очередь содержит такие коментарии, то эти коментарии остаются в панельке.
Snippets
Позволяют делать темплиты кода, как настроить это дело можно прочитать в вышеуказаной статье, есть вариант более подробный с картинками.
Главным достоинством могу назвать то что работает как в as и в mxml файлах. К недостаткам отнесу довольно много телодвижений для вставки нужного темплита в код. Удобнее, для мелочей(и не только, если не ленится), использовать манкей скрипт, как это описано в статье у Кости Ковалева, но скрипт не работает в mxml (салют индусам за мхмл редактор).
Если сравнивать Snippets и Monkey Script то обезьяна гораздо «умнее» и имеет множество возможностей, но создавать темплиты кода не очень удобно (нужно программировать, что требует определенных навыков
). Snippets’ы удобнее и легче создавать.
Mylyn полезная штука я о ней уже упоминал. Но есть некоторые «фичи» использования ее во флекс билдере:
Флекс билдер использует свой файл навигатор, который плохо дружит с Mylyn. Данный навигатор умеет только подсвечивать файлы из текущего контекста, но не умеет прятать ненужные файлы. Я стал использовать сочетание «стандартный навигатор» ↔ «флекс нафигатор» для работы. В флекс навигаторе дабавляю нужные ресурсы, а работаю с обычным правда я это делаю только для больших флекс проектов.

Кратинка намбер 1. Как это выглядит в жизни
Как видно на картинке в флекс навигаторе нет нужной иконки, хотя он есть практически во всех вью у эклипса/флекс билдера
Кстате не стоит забывать о плюшке «Go Into»

Кратинка намбер 2. Результат узнай сам ).
Coding Conventions от Адоба
April 16, 2008 – 12:16 pmЯ небуду даже это переводить:
Flex SDK coding conventions and best practices
При первом рассмотрении все очень замечательно, так что советую распечатывать и учить на ночь по 3 страницы
Спасибо Адоб за то, что ты сделал всю нудную работу за нас!
//это я к тому чтобы не обвиняли меня, что я всегда ругаю адоб.
Еще бы выпустил бы адоб автоформатилку хотя бы для части этих правил…
//а я и вправду вредный и ворчу на адоб
RPC или что скрывается под этими тремя бувкам.
April 14, 2008 – 4:05 amПод этими тремя буквами скрывается маленькая картинка:
и два маленьких архива:
- С большой картинкой (формат emf, потому что 15000х9000пх это не шутки)
- Файл проекта для Sparx EA, для тех кому картинки мало
исходники этого всего дела лежат в [где_живет_флекс_билдер3]\sdks\3.0.0\frameworks\projects\rpc . Для создания этой диаграммы пришлось немного подпилить исходники — спаркс к сожалению, не понимает конструкцию function(…rest:Array)
Эффективные багрепорты
April 3, 2008 – 4:54 amОчень полезную статью написал Егор Егоров, совету почитать.
В жизни именно так и должно быть, причем нужно именно насильно заставлять и внедрять такие вещи.
Баг трекеры с которыми я работал не позволяли таким образом структурировать баг репорты, множество настроек, фильтров, всякой лабуды, но нету самого главное — средства эффективной передачи информации. У них было только 1 поле: “вот тут все плохо или как запутать программиста”.
Чем полезен UAFPUG чат, или как легко сделать стилируемый компонент во флеше
March 27, 2008 – 9:12 amЧат UAFPUG очень полезен в своей сути, там кроме множества интересного флейма проскакивает множество интересного НЕ флейма.
Сегодня была дана краткая инструкция как написать свой компонент, который использует стандартный механизм стилирования от Адоба, лог чата:
[13:36:48] Ilja Panin говорит: ну просто реализация харнителя стилев + базовые методы не сильно сложно, но их нужно делать а перед этим подумать хоршо
или хорошо почитать про флеш калссы )
[13:38:37] Rostislav Siryk говорит: Да, Илюха, ты прав. Но учти, что во флэше скинование уже поодерживается, так что я тебе настоятельно рекомендую fl.managers.StyleManager
Он за стили отвечает.
[13:39:31] denis sheremetov говорит: Всем привет, со старта давайте разберемся со скинированием
// … тут долгий спор о том что всетаки есть флешовый UIComponent[13:41:02] denis sheremetov говорит: c:\Program Files (x86)\Adobe\Adobe Flash CS3\en\Configuration\Component Source\ActionScript 3.0\User Interface\fl\core\UIComponent.as
типа такой кординаты
итого, наследуешься от него
описываешь стили в статической проперти типа:private static var defaultStyles:Object = {
backgroundSkin:“Volume_background”,
foregroundSkin:“Volume_foreground”
};декларируешь тамже
public static function getStyleDefinition():Object {
return defaultStyles;
}дальше по ситуации:
override protected function configUI():void {}для конфигурирования изначально
protected override function draw(): void {} - для отрисовкитока!
в конце draw() обязательно super.draw()
а в самом draw() пользовать продвинутые методики типаif(isInvalid(InvalidationType.STYLES)) {
var old : DisplayObject = _background;
_background = getDisplayObjectInstance(getStyleValue(“backgroundSkin”));
addChild(_background);
if(old != null && old != _background) {
removeChild(old);
}фсё, теперь конфигуришь внешние мувики, которые составляют суть скина
ну и как всегда не все оказывается так просто как хочется
[13:55:46] denis sheremetov говорит: кстати, походу вопрос, может кто сталкивался: вот этот самый isInvalid(InvalidationType.STYLES), сцуко непонятным и непрогнозируемым образом возникает
т.е. невсегда когда реально меняются стили
потому потери в производительности на перерисовках, там где они не нужны
Вы прослушали краткую историю как создать компонент во флеше с собственными стилями, спасибо еще раз Денису за такой краткий и полезный план действий!

