Mate, a tag-based, event-driven framework for Flex applications

Mate Framework for Flex

I discovered Mate a little over a week ago and I am already using it in a live project. The Mate website describes it as ..

Mate is a tag-based, event-driven Flex framework.

Flex applications are event-driven. Mate framework has been created to make it easy to handle the events your Flex application creates. Mate allows you to define who is handling those events, whether data needs to be retrieved from the server, or other events need to be triggered.

Over the last 2 years, that I’ve been building applications with Flex, I’ve explored various application frameworks from time to time, but somehow I was never able to commit to any one of them for various reasons, some of the prominent ones being .. too much boiler plate code to do simple things, too much enforced structure to my code causing unnecessary clunk and clutter etc. etc.

Over time I realized I had somewhat developed my own framework that used standard design patterns and a structure that I had become comfortable with. This approach mostly works and I’m sure many other developers do the same, but this approach has a scalability problem when working in teams. Luckily for me though all my flex projects till now have involved 1 to 3 developers, so this has never been a problem for me.

Finally a framework I like

Then, I found Mate and I was impressed at the very first look, its declarative, yes MXML .. on digging further here are some of the features I liked ..

  • Its declarative - Mate uses MXML for the most part and hence the code is very clean, readable and very easy to understand even for people who are new to Flex programming
  • Highly decoupled - Mate uses two design patterns .. implicit invocation and dependency injection that enforce very high decoupling between various parts of your application. All the communication happens via an application wide event bus and all dependencies are injected via an EventMap.mxml file that maps dependencies between different parts of your code.
  • Unobtrusive - Mate is also very unobtrusive of your code, which means that it does not enforce any unnecessary structure to your code, you don’t have to implement framework interfaces all over your code and the boiler plate code needed to do simple things is minimized.
  • Easy and quick to learn - this is the best part, the framework is very easy to grasp and the guys at asfusion have put in a lot of effort to provide detailed documentation.

Many of the above features are somewhat lacking in the other application framework options available out there. So, if you build Flex applications and you’re into MVC then I would strongly recommend checking out Mate framework for Flex applications.


About this entry