InfoQ

News

Mate Flex Framework Alpha in Spotlight

Posted by Moxie Zhang on Jun 12, 2008 02:47 PM

Community
Java
Topics
Rich Internet Apps
Tags
Flex

Mate (pronounced “mah-the” like latte) is gaining a lot of attention among the Flex community. Mate is a tag-based Flex framework created by AsFusion. Although it has been used internally at AsFusion for a long time, the Alpha version was just released recently.

Mate is a Flex framework that leverages the tag-based MXML language to provide a map defining how the Flex application handles events. It solves many common problems faced by developers when creating Flex applications, such as retrieving data from external services and handling business logic.

As John C. Bland II of GeekLife describes:

The majority of the frameworks out there add a bunch of extra junk you don't need or won't always use. Sometimes they have weird configurations and approaches. Most times the only thing they provide is a common code-base so a new developer can jump in and be productive because he or she already knows the chosen framework.

Bland particularly likes Mate’s event handler. He says:

Mate is a gem in this area. Simply let your events bubble, and setup EventHandlers. These handlers can perform any number of tasks, including calling a service, setting a value on a class, calling a method on a class, or dispatching another event. The joy is being able to dispatch an event 20 levels into your UI without setting a globally available property/calling a globally available method, such as ModelLocator. You can have another view/ component receive an update regardless of the location in your application. It is really nice.

While Zee Yang, a J2EE developer agrees with this positive assessment, he looks at Mate from a different angle. Yang explains:

The bottom line is none of the frameworks is doing enough to leverage the declarative nature of MXML. This makes sense, because the majority of the Flex developer base came from either the J2EE camp or the Flash/AS3 camp. For example, I come from a J2EE developer background. As my Flex skills progress, I am developing an appreciation for the beauty of MXML. At the same time, I am becoming dissatisfied with the verbose AS3-based frameworks. I like Mate, because it is a very forgiving MVC framework that makes good use of MXML.

Writing in Iconara, Theo Hultberg agrees that the MXML approach is beneficial to Flex developers. He comments, “Mate is very unintrusive. It lets you configure your application declaratively in MXML and does most of the boring things for you. Judging from the documentation and examples, it should be a good competitor in the less-than-crowded market of Flex application frameworks.”

Summarizing the core feature of Mate, Hultberg observes:

The core of Mate is the event map, which describes what should happen when your application dispatches events of different types. For each event, one or more handlers can be invoked. A handler can be anything from calling a method on an object, running a command or invoking a remote object call. There is also room for writing your own specialized handlers. Handlers can run in sequence by picking up from the previous handler's result, which makes it possible to create quite complex logic. All this is done in MXML, which means that your configuration is also the actual wiring of your application. More important, it's readable and easy to understand.

As Mate continues to enjoy the developer spotlight, InfoQ will keep pace of the discussion.

No comments

Watch Thread Reply

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.