Topics

Featured in Development

Peter Alvaro talks about the reasons one should engage in language design and why many of us would (or should) do something so perverse as to design a language that no one will ever use. He shares some of the extreme and sometimes obnoxious opinions that guided his design process.

Featured in AI, ML & Data Engineering

Today on The InfoQ Podcast, Wes talks with Katharine Jarmul about privacy and fairness in machine learning algorithms. Jarul discusses what’s meant by Ethical Machine Learning and some things to consider when working towards achieving fairness. Jarmul is the co-founder at KIProtect a machine learning security and privacy firm based in Germany and is one of the three keynote speakers at QCon.ai.

Featured in Culture & Methods

Organizations struggle to scale their agility. While every organization is different, common patterns explain the major challenges that most organizations face: organizational design, trying to copy others, “one-size-fits-all” scaling, scaling in siloes, and neglecting engineering practices. This article explains why, what to do about it, and how the three leading scaling frameworks compare.

Mate Flex Framework Alpha in Spotlight

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.

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.