InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Flex Framework Mate, the Good and Bad

Posted by Moxie Zhang on Sep 17, 2008

Sections
Development
Topics
Java ,
Rich Internet Apps
Tags
Flex ,
Frameworks

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.

No comments

Watch Thread Reply

Educational Content

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.