В продолжение темы советов новичкам, поведаю о самом удобном способе инкапсуляции вызовов серверных методов. Назовём этот паттерн ServiceBase, по-сути это базовый класс, от которого должны наследоваться ваши сервисы (наборы методов, соответствующие серверным):
More…
Оптимальный паттерн для работы с RemoteObject
Flex Formatter
Наверно многие уже слышали и проверили как работает долгожданный плагин для форматирования кода Action Script и разметки MXML — Flex Formatter (http://flexformatter.sourceforge.net/). Но, тем не менее, версия 0.6.7 не включала в себя таких жизненно важных параметров как кол-во пробелов около символа «:» и т.п., а так же имела очень мрачную панель управления.
На прошедших выходных я решил связаться с разработчиком плагина Ернестом. Он оказался очень отзывчивым человеком. Мы обменялись с ним некоторым опытом разработки на Action Script и он пообещал доработать плагин и поправить панель настроек.
Сегодня утром, я обнаружил новую версию 0.6.8, которая практически идеальна. Всем рекомендую к использованию, что-бы ваш код был сексуален как никогда ранее.
А так же, не забывайте все претензии добавлять в баг-трекер проекта. Слава Богу, автор очень отзывчивый и оперативный.
Советы новичкам
В основном это список произвольных мелких нюансов без сортировки и развития. Рекомендуется к быстрому прочтению, что-бы задействовалось подсознание :-).
More…
Шестая встреча UAFPUG, очами глазовидца
Моё долгое пребывание в командировке во Львове закончилось посещением главной (и возможно единственной) тусовки флешеров и флексеров Украины. Мой новый сотрудник Сергей Павленко рассказал о Cairngorm, Ростислав Сирык о Mate, ещё один паренёк про PureMVC. Суть встречи была подчеркнута противостоянием этих фреймворков, но, лично я против всех этих «ворков» и процитирую Максима Гринёва:
Кожний фреймворк має вирішувати свою певну задачу. Поглянем на світ Java, там Hibernate вирішує питання маппінгу СУБД і об´єктної моделі, Spring чудовий фреймворк для створення незалежних компонентів і т.п. Якщо ж ви бачите в використанні флекс фреймворків так званий «silver bullet», який позбавить вас всіх проблем, то наврядчи досягнете успіхів. Створення програм — це нетривіальний процес незалежно від технічних засобів.
Неофициальная часть в баре «Роберта Домса» запомнится мне очень надолго. Особенно тот волшебный танец с Ростом, особенно новость о том что уже 22:28 (поезд отправлялся в 22:47), особенно тот факт, что я забыл свои вещи в камере хранения на Львовском вокзале (теперь думаю как их вернуть) — в общем, всё было очень особенно.
Спасибо за отличную компанию всем участникам. А также, отдельная признательность Андрею Панасу, который, по словам авторитетов, был основным инициатором создания украинской FPUG.
UPD: Рюкзак мне сегодня довёз тру-флексер (который на конфе задавал больше всего вопросов) — Сергей Шичинов. Честь и уважение.
To Flex or not to Flex
Суть данной статьи заключается в изложении моего опыта по разработке приложений на технологии Flex в разрезе принятий решений о выборе или не выборе онной на конкретных проектах. Да, именно так, очень часто возникают ситуации, когда использование Flex не только невыгодно по временным ограничениям, но и губительно для проекта.
5 копеек о Mate Flex Framework
До последнего момента я очень скептически относился ко всем существующим фреймворкам для Flex. Я, конечно, не уделял особого внимания изучениям подробностей Cairngorm или PureMVC, но тем не менее мне было известно их основное устройство. Например я презираю глобальную доступность View из любого места в коде проекта написанного с использованием Cairngorm. Так же, меня напрягло количество промежуточных классов PureMVC, от которых код разбухает как на дрожжах. Имеено по-этому я никогда ничем не пользовался кроме базовой компонентно-событийной системы Flex Framework.
Поддавшись на восторженые отзывы риа-гуру я решил разобратся что и к чему. Не надейтесь, я не собирась тут расписывать по-русски о модели работы Mate, я опишу лишь несколькими предложениями: это действительно круто и я отвечаю за свои слова.
Я считаю, успех Mate связан с тем, что это не портированый фреймворк, а написаный именно под Flex. Он использует основные (возможно и не очень правильные) принципы и особенности Flex фреймворка, такие как:
- наследование всех классов от EventDispatcher, которое позволяет использовать bubbling-события, как основные носители сообщений между View, Model и прочими сущностями;
- довольно идентичную особенность биндинга, с помощью которой Mate наладило ненавязчивый IOC (Inversion of Controls);
- разметку mxml для описания деклараций связующих механизмов приложения в простой и понятной форме.
И все это работает поверх сущностей вашего приложения, без необходимости наследования утомляющих абстрактных классов команд, медиаторов, моделей и пр. Ну и на десерт, Mate фреймворк отлично расширяется путем наследования ваших дополнений от базовых управляющих классов.
В общем, листая документацию сайта, можно получить первое впечатление не более чем за час. Просмотр исходного кода подтвердает подозрения, что авторы проекта — отличные профессионалы, которые обернули нюансы Flex в бонусы. Нужно пользоваться!
Устроился на постоянную работу в офис
В связи с окончательным разочарованием по-поводу удаленной работы на дому, я решил устроиться на стабильную офисную должность. В даный момент я уже работаю в компании EPAM на позиции Lead Software Engineer.
Скорее всего, я буду формировать еще одну команду флексеров (в уже существующей ключевую позицию занимает, также бывший сонопиец, Сергей Шичинов). По-этому, если кто-то заинтересован по-сотрудничать со мной лично, обращайтесь. Так как в Киеве хорошо подготовленых флексеров с надежными знаниями ООП не так и много, по-этому набирать будем даже начинающих или тех, кто заинтересован в Flex будучи, например, C# или Java программистом.
В общем, я социализировался :-).
Пару слов о MacroContent Builder
На моей последней работе в голландской компании KZOO webcreatie я разрабатывал AIR приложение для визуального построения шаблонов к некоему серверному движку, которым владеет компания. Приложение предоставляет пользователям набор элементов (список, елемент, контент) для построения гибкой древовидной структуры. Результатом работы есть XML файл, в котором содержится как некоторая скриптовая логика, так и структура БД, а так же и HTML представление. Серверный движок на основе этого файла реализует связь с БД и генерирует конечную HTML страницу. Система довольно универсальная, но, конечно же, не может покрыть узкопрофильные решения, только типовые сайты.
Программа доступна для ознакомительной установки. Наврядли удастся как-то использовать на практике, без соответствующего ПО для серверной стороны.
More…
Работа на полторы недели для Flex программиста
В связи с личной занятостю никак немогу (и не успею) выполнить небольшой проект для своего же заказчика из Голландии. Тому, кто возьмётся за выполнение оплата будет $15 за 1 час работы, по моим оценкам разработка потянет на 4-6 рабочих дней (со всеми рисками включительно). Проект очень простой.
Краткое описание: нужно создать swf компонент, который представляет из себя игру – разгадку кроссворда. Поле (матрица) слов всегда одинаковая, выглядит так

Компонент подгружает из сервера набор слов и описывающих их предложений (задача кроссворда), а также массив номеров ячеек из которых формируется ответ. После решения компонент отправляет на сервер емейл, дату, правильность решения. Подробности, после соглашения на разработку, можно будет обсудить с заказчиком (или мной если проблемы с английским).
UPD: Проект выполнен и закрыт. Готовую работу можно увидеть по адрессу http://kzoomail.nl/dagpuzzel/. Также, можно установить себе опубликованную выше AIR-версию.
Моя презентация с UA WEB 2008
На Первой украинской конференции веб-разработчиков UA WEB 2008 я рассказал о последнем релизе Adobe AIR, его API и показал пару примеров использования этой чудесной вещи. Слайды презентации можно глянуть прямо здесь (кликать, что-бы перейти на следующий слайд):
От конференции остались самые положительные эмоции. Особенно, от того факта, что я сэкономил $200 на вход :-).