Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Flex Framework Mate, the Good and Bad

Flex Framework Mate, the Good and Bad

This item in japanese

Mate is a tag-based Flex framework created by AsFusion in June 2008. In the period since InfoQ reported reactions among the Flex community on its release, Mate has been gaining attention among Flex developers. Now, many are asking how Mate fits into Flex rich Internet application (RIA) development compared with established frameworks, like Cairngorm and PureMVC.

Java developer Per Olesen at TechPer has posted his findings about the good, the bad and the ugly of Mate on his blog.

According to Olesen, the best thing is:

Mate is a Flex framework, meaning it does not try to hide or abstract access to Flex apis. It uses normal flex events as communication mechanisms, and depends heavily on the Flex apis in general. This is something it shares with Cairngorm, but stands in clear contrast to PureMVC.

Mate utilizes dependency injection (DI), which is a programming pattern I have come to like and use day in and day out when doing Java development.

Using Mate, the mxml view definitions become really simple and uncluttered with anything but the view code. This is something Mate shares with PureMVC, but not with Cairngorm.

In general, Olesen likes Mate and acknowledges its Flex heritage. However, there are some things about Mate Olesen does not like. He comments, “There seems to be too much magic happening behind the scenes. Mate has something called an EventMap, a place where one wires up the application. The EventMap is all done in XML. Programming in XML quickly leaves you up creek without a paddle. I hate that!”

As to the ugly, Olesen notes there is a segment inside Mate code that is in desperate need of improvement.

John Blanco of Rapture in Venice disagrees with Olesen on whether there is “too much magic” with Mate. He explains:

Mate is a framework; thus, the implication that it should somehow be understandable within five minutes doesn’t seem fair.

Also, you don’t have to use the HTTPServiceInvoker if you don’t like coding in the XML. It’s your choice based on your project. You could use nothing but MethodInvoker and be able to easily imitate Cairngorm’s Command and PureMVC’s Command and Mediator.

However, Olesen responds:

The EventMap is a very important part and concept of Mate. A large part of the framework is centered on the EventMap. It is thought of as the place for this. This is the intention of the framework. If a person is going to use Mate, he or she should also buy into the concept of the EventMap. It is an important area of Mate, and it should help you. And it might. I just doubt it.

Rate this Article