По наводке Junik и Constantiner вчера вечером не пожалел час времени — почитал PDF-доку к Flex-фреймворку Mate и по этой доке за 15 минут собрал тестовый проект.
Поразительная простота и ясность применения без видимой потери эффективности — вот отличительные черты фреймворка Mate. Рекомендую попробовать каждому флексеру — вы не пожалеете. Помимо реальной оптимизации архитектуры флекс-проекта за счет централизованного учета событий в Карте Событий и распределения данных из Модели в Вид посредством Инъекторов, полчаса, потраченные вами даже на поверхностное знакомство с Mate, могут натолкнуть вас на собственные идеи; как минимум, у вас расширится часть сознания, отвечающая за архитектуру и фэншуй.
Главное: каждый Мате-проект имеет одно или более событие и одну или более Карту Событий (Event Maps). Проекты, не имеющие этого — это не Мате-проекты! (опасайтесь подделок :)
Мате — это швейцарский нож, и в нем есть куча готовых выдвижных лезвий: от автоматизированных вызовов всех актуальных типов удаленных сервисов и обработки результатов этих вызовов, до полезных смарт-объектов и прикольного дебаггера событий.
Флексеры, Mate — это для вас! Он предлагает вам не громоздкие классы, а компактные тэги.
Как еще его хвалить — не знаю. Читайте первые 7 страниц PDF-доки :-)
А сервер Mate лег, и я догадываюсь, почему — так работает внезапная популярность (digg-эффект?) Зайдите к ним попозже — или смотрите в кэше доброго гугля :-)
Еще надо не забыть, что Mate не особо предлагает какую-то архитектуру, которой все обязаны следовать иначе кранты. Так как Mate естественным образом завязан на самые обычные события Flash-плеера, то сама его роль в приложении довольно естественна (бабблинг рулит). То есть это не хирургическая операция, которая обещает лучшую жизнь, а старый добрый косячок, который делает жизнь лучше используя силы самой матушки-природы :)
Также следует отметить, что есть Cairngorm или PureMVC все равно предлагают либо единый сервис/модель локаторы и единый диспетчер событий, либо единый фасад, то Mate сразу настроен на возможность использования любого количества event map'ов, что дает возможность легко и просто разбить систему на подсистемы :)
В общем, это бомба :)
1. Может ли Mate работать не с Coldfusion, а с другими серверосторонними языками программирования? 2. Насколько я понимаю, чистый ActionScript проект с помощью Mate создать нельзя, т.е. утяжеление результирующего swf за счет Flex-компонентов неизбежно, даже если в аналогичном проекте без Mate можно (и не очень сложно) обойтись без них?
1. А какая разница? И где Вы прочитали слово Coldfusion в связи с Mate? :) 2. Mate - это Flex-фреймворк. То есть полностью. Ибо использует, в отличие от других, все преимущества именно Flex. Если проект не Flex, то и Mate не используется :)
1. Да не прочитала :). Просто увидела какой-то пример с Coldfusion, потому и тупой вопрос возник. В принципе, должно быть очевидно, что какие-то Coldfusion-файлы стоят для примера и на их месте может быть любой другой серверосторонний язык, но мне это показалось неочевидно. 2. Flex - это дело хорошее, но у нас просто приходится сплошь и рядом писать на чистом AS3 (преимущественно с помощью FlashDevelop), а компилить с помощью Flex компилятора. Пытаемся вфйти на модель, когда простой AS-компонент сможет пересобрать для своих целей даже PHP-разработчик, не загружая флэшера. Для небольших компонентов типа галерей, плееров и им подобных это вариант, но хотелось бы и для таких случаев швейцарский ножик... уже не говоря о том, что с помощью чистого AS3 можно компилить куда меньшие swf-ки - а это не такой уж пустяк, учитывая пользователей в медвежьих углах Баварии, очень не бедных, но скоростным Интернетом не обеспеченных.
Я начала изучение ActionScript в сентябре с того, что написала галерею на Flex. Наш тогдашний флэшер был доволен моим прогрессом, но недоволен размером исходного файла, попросил переписать на чистом ActionScript. Я повозилась, вышло совсем другое дело - флэшка оказалась всего-то порядка 20 кБайт - вместо изначальных 200. Отсюда и вопросы.
Тоже прочитал доки по мотивам недавних постов в блогах. Явное помодульное разбиение событийних карт (контроллеров в MVC структуре) мне всегда нравилось, и всегда не нравилось отсутствие такового в пюре. Каирнгорм же до сих пор не использовал из-за навязывания огромного количества классов (по 3-4 на действие, в зависимости от совмещения или несовмещения команды и респондера). Выводы - есть стойкое желание писать следующий проект на MATE, ну и ждем pure AS3 вариант.
подскажите, как с помощью mate реализовать MVC? 1. в папке views есть вьюхи - в них генерятся события 2. в папке events есть карты событий. Как мне кажется, из них получаться хорошие контроллеры - они ловят события от вьюх, и вызывают соответсвующие классы и их методы. В том числе и серверные. 3. как сделать модели? Модель ведь должна быть статическим классом. При чём возникает вопрос - модель должна быть одна (как в карингорме) или несколько, как в нормальной реализации MVC - возможны множество моделей? Может это уже как-то сделано в mate и я что-то пропустил?
Выводы - есть стойкое желание писать следующий проект на MATE, ну и ждем pure AS3 вариант.
По мне сила Mate не в том, что он ориентирован на родные события и их диспетчеризацию. А именно в том, что это tag-based фреймворк. То есть - декларативный синтаксис. А его pure AS3 варианта быть по определению не может.
как сделать модели?
Хехе. А pure AS3 вариант MXML'а и data binding'а ты не ждешь? :)
И не будешь потом говорить, что говно этот ваш Mate и data binding потому что требует множество писанины.
тут не совсем понял мысль
А смысл декларативного синтаксиса Mate (да и MXML) не в том ведь, что это XML, а в том, что ему реально соответствуют классы и возможен всяческий биндинг.
Можно: a href target blockquote strike strong em code pre small img width height border
code