Flash Ripper RSS Readers

Mate — швейцарский нож и компас в руках Flex-разработчика

По наводке Junik и Constantiner вчера вечером не пожалел час времени — почитал PDF-доку к Flex-фреймворку Mate и по этой доке за 15 минут собрал тестовый проект.

Поразительная простота и ясность применения без видимой потери эффективности — вот отличительные черты фреймворка Mate. Рекомендую попробовать каждому флексеру — вы не пожалеете. Помимо реальной оптимизации архитектуры флекс-проекта за счет централизованного учета событий в Карте Событий и распределения данных из Модели в Вид посредством Инъекторов, полчаса, потраченные вами даже на поверхностное знакомство с Mate, могут натолкнуть вас на собственные идеи; как минимум, у вас расширится часть сознания, отвечающая за архитектуру и фэншуй.

Главное: каждый Мате-проект имеет одно или более событие и одну или более Карту Событий (Event Maps). Проекты, не имеющие этого — это не Мате-проекты! (опасайтесь подделок :)

Мате — это швейцарский нож, и в нем есть куча готовых выдвижных лезвий: от автоматизированных вызовов всех актуальных типов удаленных сервисов и обработки результатов этих вызовов, до полезных смарт-объектов и прикольного дебаггера событий.

Флексеры, Mate — это для вас! Он предлагает вам не громоздкие классы, а компактные тэги.

Как еще его хвалить — не знаю. Читайте первые 7 страниц PDF-доки :-)

А сервер Mate лег, и я догадываюсь, почему — так работает внезапная популярность (digg-эффект?) Зайдите к ним попозже — или смотрите в кэше доброго гугля :-)

Писал Rost, 4 Июль 2008 16:08

Найдены баги:

Еще надо не забыть, что Mate не особо предлагает какую-то архитектуру, которой все обязаны следовать иначе кранты. Так как Mate естественным образом завязан на самые обычные события Flash-плеера, то сама его роль в приложении довольно естественна (бабблинг рулит). То есть это не хирургическая операция, которая обещает лучшую жизнь, а старый добрый косячок, который делает жизнь лучше используя силы самой матушки-природы :)

Также следует отметить, что есть Cairngorm или PureMVC все равно предлагают либо единый сервис/модель локаторы и единый диспетчер событий, либо единый фасад, то Mate сразу настроен на возможность использования любого количества event map'ов, что дает возможность легко и просто разбить систему на подсистемы :)

В общем, это бомба :)

Constantiner - 4 Июль 2008 16:51

В общем, это бомба :)

О да.

Рост - 4 Июль 2008 17:03

1. Может ли Mate работать не с Coldfusion, а с другими серверосторонними языками программирования?
2. Насколько я понимаю, чистый ActionScript проект с помощью Mate создать нельзя, т.е. утяжеление результирующего swf за счет Flex-компонентов неизбежно, даже если в аналогичном проекте без Mate можно (и не очень сложно) обойтись без них?

Elena - 5 Июль 2008 10:30

1. А какая разница? И где Вы прочитали слово Coldfusion в связи с Mate? :)
2. Mate - это Flex-фреймворк. То есть полностью. Ибо использует, в отличие от других, все преимущества именно Flex. Если проект не Flex, то и Mate не используется :)

Constantiner - 6 Июль 2008 20:27

1. Да не прочитала :). Просто увидела какой-то пример с Coldfusion, потому и тупой вопрос возник. В принципе, должно быть очевидно, что какие-то Coldfusion-файлы стоят для примера и на их месте может быть любой другой серверосторонний язык, но мне это показалось неочевидно.
2. Flex - это дело хорошее, но у нас просто приходится сплошь и рядом писать на чистом AS3 (преимущественно с помощью FlashDevelop), а компилить с помощью Flex компилятора. Пытаемся вфйти на модель, когда простой AS-компонент сможет пересобрать для своих целей даже PHP-разработчик, не загружая флэшера. Для небольших компонентов типа галерей, плееров и им подобных это вариант, но хотелось бы и для таких случаев швейцарский ножик... уже не говоря о том, что с помощью чистого AS3 можно компилить куда меньшие swf-ки - а это не такой уж пустяк, учитывая пользователей в медвежьих углах Баварии, очень не бедных, но скоростным Интернетом не обеспеченных.

Elena - 7 Июль 2008 0:05

Я начала изучение ActionScript в сентябре с того, что написала галерею на Flex. Наш тогдашний флэшер был доволен моим прогрессом, но недоволен размером исходного файла, попросил переписать на чистом ActionScript. Я повозилась, вышло совсем другое дело - флэшка оказалась всего-то порядка 20 кБайт - вместо изначальных 200.
Отсюда и вопросы.

Elena - 7 Июль 2008 0:09

Тоже прочитал доки по мотивам недавних постов в блогах. Явное помодульное разбиение событийних карт (контроллеров в MVC структуре) мне всегда нравилось, и всегда не нравилось отсутствие такового в пюре. Каирнгорм же до сих пор не использовал из-за навязывания огромного количества классов (по 3-4 на действие, в зависимости от совмещения или несовмещения команды и респондера). Выводы - есть стойкое желание писать следующий проект на MATE, ну и ждем pure AS3 вариант.

FSB - 7 Июль 2008 16:00

подскажите, как с помощью mate реализовать MVC?
1. в папке views есть вьюхи - в них генерятся события
2. в папке events есть карты событий. Как мне кажется, из них получаться хорошие контроллеры - они ловят события от вьюх, и вызывают соответсвующие классы и их методы. В том числе и серверные.
3. как сделать модели? Модель ведь должна быть статическим классом. При чём возникает вопрос - модель должна быть одна (как в карингорме) или несколько, как в нормальной реализации MVC - возможны множество моделей?
Может это уже как-то сделано в mate и я что-то пропустил?

ya - 8 Июль 2008 1:54

Выводы - есть стойкое желание писать следующий проект на MATE, ну и ждем pure AS3 вариант.

Хехе. А pure AS3 вариант MXML'а и data binding'а ты не ждешь? :)И не будешь потом говорить, что говно этот ваш Mate и data binding потому что требует множество писанины.

По мне сила Mate не в том, что он ориентирован на родные события и их диспетчеризацию. А именно в том, что это tag-based фреймворк. То есть - декларативный синтаксис. А его pure AS3 варианта быть по определению не может.

Constantiner - 9 Июль 2008 12:28

как сделать модели?

В одной из рекомендованных схем применения Mate для моделей используются так называемые менеджеры, которые вызываются из resultHandlers invoker'а серверного метода с помощью MethodInvoker. Там ответ с сервера обрабатывается и устанавливается в публичное свойство, доступное для binding'а. Оттуда публикуется во View с помощью инжектора. Так что менеджер не синглтонный. И их может быть сколько угодно.

Constantiner - 9 Июль 2008 12:34

Хехе. А pure AS3 вариант MXML'а и data binding'а ты не ждешь? :)

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

И не будешь потом говорить, что говно этот ваш Mate и data binding потому что требует множество писанины.

тут не совсем понял мысль :)

По мне сила Mate не в том, что он ориентирован на родные события и их диспетчеризацию. А именно в том, что это tag-based фреймворк. То есть - декларативный синтаксис. А его pure AS3 варианта быть по определению не может.

pureMVC как раз не нравится своей абстрагированностью от языка, из-за чего даже были принесены в жертву нативные ивенты. Декларативный подход, для статической карты событий и обработчиков - пусть, карты всегда удобнее писать в виде списков, для которых использование xml на мой взгляд более прозрачно. Потенциально могут быть только проблемы с динамескими картами (например карта доступных сервисов приходит в динамике с сервера, в каирнгорме даже нет API для рантайм добавления новых сервисов в карту сервислокатора на этот случай, проходилось на начальных этапах дописывать, потом совсем отказались от каирнгорма), может быть ситуация, когда, например, тип события динамичекий или список обработчиков переменный, как там с этим борятся? Будем обсуждать дальше, после применения на реальных проектах, у меня такого опыта пока нет.

FSB - 10 Июль 2008 11:55

тут не совсем понял мысль

Я имел ввиду, что писать в чистом AS биндинг - по мне уж очекнь много писанины. И замена декларативных тегов процедурными вещами - тоже.

А смысл декларативного синтаксиса Mate (да и MXML) не в том ведь, что это XML, а в том, что ему реально соответствуют классы и возможен всяческий биндинг.

Constantiner - 10 Июль 2008 21:43
Написать багрепорт:










Можно: a href target blockquote strike strong em code pre small img width height border


Запомнить тебя?






Это запись из категории 'frameworks'. 10 еще cвежих:

Архивы по категориям:

3D-18, Adobe AIR-30, Animation-1, Apache Ant-1, Architecture-1, ARP-1, Art-25, Articles-26, AS3-52, Books-7, Business-3, Cairngorm-2, CI-1, Classes-10, Coding-30, Community-113, Components-19, Contests-28, Cool-Job-5, Debug-18, Design-26, Development-84, EMO-1, Events-13, Extensions-2, FAQ-8, FDS-1, Flash and html-5, Flash Player-35, Flash Updates-8, Flash-scene-1, flash10-4, FlashLite-2, Flex-30, Flex 2-80, Flickr-1, FMS-1, FPUG-46, frameworks-1, Games-11, Good Job!-35, HaXe-14, Health-2, Humor-10, Ideas-13, JavaScript-1, Job-26, JSFL-8, Links-2, Linux-1, Maps-1, Math-8, Money-11, MXML-1, Open Source-15, Optimization-2, Patterns-2, Personalities-27, Politics-1, Preloading-3, Productivity-9, PureMVC-10, Pv3d-1, Rafpug-4, Red5-3, Remoting-11, Resources-21, Ruby-6, SAAS-1, Security-11, SEO-8, Silverlight-5, Sound-3, Strategy-120, Tamarin-1, Tools-113, Training-2, Trash-8, URAFPUG-13, Urgent-1, Usability-6, Video-6, VoIP-5, Wallop-1, Wishlist-2, Архив всех записей (большой)

За последние месяцы:

Июл 2008: Международная встреча разработчиков URAFPUG завершена, URAFPUG - трансляция студии Flex-фреймворка Mate, весь Июл

Июн 2008: Попытка предварительных выводов о встрече аниматоров, Онлайн трансляция встречи аниматоров в Донецке, весь Июн

Май 2008: Если 3D, то по-взрослому: официальный запрос в Adobe по поводу контроля над мип-маппингом. Нужна ваша поддержка!, В этом году «Russian Flash Awards» пройдет в «космическом стиле», весь Май

Апр 2008: Программирование под флэш платформу. Cтатья (местами спорная), Advanced Flash Components бесплатно раздает все свои AS2-компоненты, весь Апр

Мар 2008: Зарплаты программистов в 2007 году, FlashPhone как технология года? Технология года? В Рунете?, весь Мар

Фев 2008: ЙА ФПУГ — регистрация на первую встречу UAFPUG продолжается, Закулисы Flex и секрет успеха опенсорс-проекта, весь Фев





Примечания:
Статус документа
: в процессе
   2002-2007 Производство: Рост Прибыли · О проекте · Подписка на новости (RSS)