Posted by
tearaway_Tea on September 28, 2008
Моё долгое пребывание в командировке во Львове закончилось посещением главной (и возможно единственной) тусовки флешеров и флексеров Украины. Мой новый сотрудник Сергей Павленко рассказал о Cairngorm, Ростислав Сирык о Mate, ещё один паренёк про PureMVC. Суть встречи была подчеркнута противостоянием этих фреймворков, но, лично я против всех этих «ворков» и процитирую Максима Гринёва:
Кожний фреймворк має вирішувати свою певну задачу. Поглянем на світ Java, там Hibernate вирішує питання маппінгу СУБД і об´єктної моделі, Spring чудовий фреймворк для створення незалежних компонентів і т.п. Якщо ж ви бачите в використанні флекс фреймворків так званий «silver bullet», який позбавить вас всіх проблем, то наврядчи досягнете успіхів. Створення програм — це нетривіальний процес незалежно від технічних засобів.
Неофициальная часть в баре «Роберта Домса» запомнится мне очень надолго. Особенно тот волшебный танец с Ростом, особенно новость о том что уже 22:28 (поезд отправлялся в 22:47), особенно тот факт, что я забыл свои вещи в камере хранения на Львовском вокзале (теперь думаю как их вернуть) — в общем, всё было очень особенно.
Спасибо за отличную компанию всем участникам. А также, отдельная признательность Андрею Панасу, который, по словам авторитетов, был основным инициатором создания украинской FPUG.
UPD: Рюкзак мне сегодня довёз тру-флексер (который на конфе задавал больше всего вопросов) — Сергей Шичинов. Честь и уважение.
Posted by
tearaway_Tea on September 22, 2008
Суть данной статьи заключается в изложении моего опыта по разработке приложений на технологии Flex в разрезе принятий решений о выборе или не выборе онной на конкретных проектах. Да, именно так, очень часто возникают ситуации, когда использование Flex не только невыгодно по временным ограничениям, но и губительно для проекта.
More…
Posted by
tearaway_Tea on September 01, 2008
До последнего момента я очень скептически относился ко всем существующим фреймворкам для Flex. Я, конечно, не уделял особого внимания изучениям подробностей Cairngorm или PureMVC, но тем не менее мне было известно их основное устройство. Например я презираю глобальную доступность View из любого места кода в Cairngorm. Так же, меня напрягло количество абстрактных классов PureMVC, которые нужно наследовать, а код разбухает как на дрожжах. Имеено по-этому я никогда ничем не пользовался кроме базовой компонентно-событийной системы Flex Framework.
Поддавшись на восторженые отзывы риа-гуру я решил разобратся что и к чему. Не надейтесь, я не собирась тут расписывать по-русски о модели работы Mate, я опишу несколькими предложениями. Это действительно круто! И я отвечаю за свои слова.
Я считаю, успех Mate связан с тем, что это не портированый фреймворк, а написаный именно под Flex. Он использует основные (возможно и не очень правильные) принципы и особенности Flex фреймворка, такие как:
- наследование всех классов от
EventDispatcher, которое позволяет использовать bubbling-события, как основные носители сообщений между View, Model и прочими сущностями;
- довольно идентичную особенность биндинга, с помощью которой Mate наладило ненавязчивый IOC (Inversion of Controls);
- разметку mxml для описания деклараций связующих механизмов приложения в простой и понятной форме.
И все это работает поверх сущностей вашего приложения, без необходимости наследования утомляющих абстрактных классов команд, медиаторов, моделей и пр. Ну и на десерт, Mate фреймворк отлично расширяется путем наследования ваших дополнений от базовых управляющих классов.
В общем, листая документацию сайта, можно получить первое впечатление не более чем за час. Просмотр исходного кода подтвердает подозрения, что авторы проекта — отличные профессионалы, которые обернули нюансы Flex в бонусы. Нужно пользоваться!
Posted by
tearaway_Tea on August 29, 2008
В связи с окончательным разочарованием по-поводу удаленной работы на дому, я решил устроиться на стабильную офисную должность. В даный момент я уже работаю в компании EPAM на позиции Lead Software Engineer.
Скорее всего, я буду формировать еще одну команду флексеров (в уже существующей ключевую позицию занимает, также бывший сонопиец, Сергей Шичинов). По-этому, если кто-то заинтересован по-сотрудничать со мной лично, обращайтесь. Так как в Киеве хорошо подготовленых флексеров с надежными знаниями ООП не так и много, по-этому набирать будем даже начинающих или тех, кто заинтересован в Flex будучи, например, C# или Java программистом.
В общем, я социализировался :-).
Posted by
tearaway_Tea on July 25, 2008
На моей последней работе в голландской компании KZOO webcreatie я разрабатывал AIR приложение для визуального построения шаблонов к некоему серверному движку, которым владеет компания. Приложение предоставляет пользователям набор элементов (список, елемент, контент) для построения гибкой древовидной структуры. Результатом работы есть XML файл, в котором содержится как некоторая скриптовая логика, так и структура БД, а так же и HTML представление. Серверный движок на основе этого файла реализует связь с БД и генерирует конечную HTML страницу. Система довольно универсальная, но, конечно же, не может покрыть узкопрофильные решения, только типовые сайты.
Hello, you either have JavaScript turned off or an old version of Adobe’s Flash Player. Get the latest Flash player. Application link:
http://tearaway-tea.com/blog/wp-content/uploads/2008/09/mc-builder.air.
Программа доступна для ознакомительной установки. Наврядли удастся как-то использовать на практике, без соответствующего ПО для серверной стороны.
Некоторые детали: More…
Posted by
tearaway_Tea on April 29, 2008
В связи с личной занятостю никак немогу (и не успею) выполнить небольшой проект для своего же заказчика из Голландии. Тому, кто возьмётся за выполнение оплата будет $15 за 1 час работы, по моим оценкам разработка потянет на 4-6 рабочих дней (со всеми рисками включительно). Проект очень простой.
Краткое описание: нужно создать swf компонент, который представляет из себя игру - разгадку кроссворда. Поле (матрица) слов всегда одинаковая, выглядит так

Компонент подгружает из сервера набор слов и описывающих их предложений (задача кроссворда), а также массив номеров ячеек из которых формируется ответ. После решения компонент отправляет на сервер емейл, дату, правильность решения. Подробности, после соглашения на разработку, можно будет обсудить с заказчиком (или мной если проблемы с английским).
Hello, you either have JavaScript turned off or an old version of Adobe’s Flash Player. Get the latest Flash player. Application link:
http://kzoomail.nl/dagpuzzel/bin/puzzle.air.
UPD: Проект выполнен и закрыт. Готовую работу можно увидеть по адрессу http://kzoomail.nl/dagpuzzel/. Также, можно установить себе опубликованную выше AIR-версию.
Posted by
tearaway_Tea on March 30, 2008
На Первой украинской конференции веб-разработчиков UA WEB 2008 я рассказал о последнем релизе Adobe AIR, его API и показал пару примеров использования этой чудесной вещи. Слайды презентации можно глянуть прямо здесь (кликать, что-бы перейти на следующий слайд):
[Для показа нужно установить Flash Player]
От конференции остались самые положительные эмоции. Особенно, от того факта, что я сэкономил $200 на вход :-).
Posted by
tearaway_Tea on March 25, 2008
Дело в том, что я постигал премудрости Flex в американском стартапе Sonopia. Мне на редкость повезло, так как в команду попали личности, которых еще нужно поискать: дотошный, педантичный, но ужасно веселый Сергей Ковалев, супер-специалист и ООП мыслитель Гринев Максим, энергичный Стас Заярский и толковый Мыкола Палиенко. Все эти парни поучавствовали в создании Flex Library для проэкта, работавшего в рамках портала sonopia.com. Так как все были против использования Cairngorm, библиотеку решили в будущем опубликовать как фреймворк Go!Verla. Но будущее было иным.
После того как стартап прогорел и флексеров разогнали, мы с Максимом решили позаботиться о коде, который был довольно проектно-независим, выделив его отдельный open-source набор полезных классов. Так и образовалась Go!Verla Flex Library, которая, по-видимому, навсегда останется в alpha-версии, без документации, понятной только нескольким людям — нам.
Но, вы, конечно, можете также присоединиться к нашей мечте.
Posted by
tearaway_Tea on March 20, 2008

(пример)
Компонент org.goverla.containers.ResizeableLayoutBox предназначен для построения оконных интерфейсов типа dockable IDE. В связке с ним нужно использовать контейнер org.goverla.containers.CollapsablePanel, который предоставляет возможность сжимать и разворачивать панели.
В данной реализации можно использовать как вертикальное (по типу Accordion), так и горизонтальное позиционирование панелей. Для того что-бы изменить размер панели, нужно мышкой тянуть за её заголовок. При растягивании принимаются в расчет параметры minWidth, maxWidth, minHeight, maxHeight.
Классы можно взять из библиотеки Go!Verla.
Posted by
tearaway_Tea on December 18, 2007
Наши дорогие индуские программисты сделали весьма много гадостей в релизе Flex Beta 3. Одна из самых неприятных — это использование по умолчанию NativeDragManagerImpl в DragManager. Причем, нет никакой возможности использовать DragManagerImpl, как было раньше.
Впринципе их можно понять, ведь в приложениях написаных для AIR нужна поддержка drag-n-drop с ОС, но не давать возможности выбирать, это, как всегда, плохо. Существует очень грязный хак: нужно присоединить исходники Flex Framework к нашему проекту Project Preferences -> Flex Build Path -> Source Path, которые находятся в /Applications/Adobe Flex Builder 3 Plug-in/sdks/3.0.0/frameworks/projects/framework/src. После этого мы можем поменять в классе SystemManager функцию docFrameHandler(), нужно оставить только данный код:
Singleton.registerClass("mx.managers::IDragManager",
Class(getDefinitionByName("mx.managers::DragManagerImpl")));
После перекомпиляции мы получим DragManager который использует DragManagerImpl по умолчанию.