I just started learning Mate for my latest project (An AIR-based price comparison application) about three weeks ago. Having been introduced to Cairngorm at the same time as Flex itself, I was slightly apprehensive about the move as I was totally at home with Cairngorm. But now, three weeks later, and a project 80% finished, I am not only glad that I made the switch, but also regret not having tried it before. After all, Mate has been around for some while and it’s definitely here to stay.
An application framework is a standard structure for a specific development environment that makes development & maintenance easy for individual & teams of developers alike. No doubt, both Cairngorm and Mate serve the purpose, but with varying degrees of success. Here’s a quick, random list of pro’s and con’s of Mate compared with Cairngorm that I’ve noticed over the last three weeks.
The event-map approach of Mate makes complete sense since Flex itself is event driven. The command based approach of Cairngorm seems like a big stretch and increases complexity.
Again, the command approach adds many more classes and lines of codes in Cairngorm which are considerably lessened when using Mate.
The application code is much more tightly bound with framework code in Cairngorm, such as the use of Cairngorm events. This is not the case with Mate.
Event bubbling can be caught/listened without having to write any excess code.
Easy learning curve. I remember Cairngorm gave me a hard time as a beginner. Compared with that, learning Mate was a breeze. The documentation is excellent. Furthermore, the tag based of Mate approach is always easier to learn.
Cairngorm has a much more modular structure, more suited to the Flex MVC architecture that adheres to basic OOP concepts. This offers great advantages in larger enterprise level application development scenarios. Projects are more readable and work can easily be split into various parts and assigned to different teams.
The use of delegates makes use of dummy data simple to replicate server side behaviour. Client side development is not hindered by server side development issues.
And lastly, the thing that bugs me the most. While tag based approach is simpler and easier to learn, it is also hard to debug. Small errors are hard to find and more than a few times, problems are detected only during runtime and not during compiling. Simple mistakes such as a spelling here or there can lose you a lot of time.
While it may seem to some that the balance is tipped in Mate’s favour, it would be a rather harsh judgement. A closer look would show us that depending on the scenario, there is room for both. In fact, there is a NEED for both. The advantages of Cairngorm makes it much more suited for larger, enterprise level applications that are robust while Mate is more suited for smaller applications which needed to be executed swiftly.
My conclusion – it is important that a good Flex developer be able to easily switch between both the frameworks if he wants to deliver his clients the best that Flex has to offer.
Manage Remote Teams and Productivity During COVID-19
With more than 471,862 cases around the globe, the coronavirus (COVID-19) pandemic has a devastating impact not only on the lives of hundreds of thousands of people but also on the global economy. The government aiming to contain and mitigate the disease has initiated the largest Coronavirus lockdown in the country. This has affected the […]
Hybrid Mobile Application Development: When, Why, and How
When it comes to Hybrid mobile application development there is no one-size-fits-all solution. Every solution comes with its own set of pros and cons. React native Vs Flutter Vs Native app Native and cross-platform approaches using React Native or Flutter have emerged to be popular mobile app development solutions. While native app development has carved […]
How To Hire React Native Developers? Highlighting Key Skills
From being Facebook’s internal Hackathon project to one of the most trending frameworks for cross-platform app development-React Native has made it big! Numerous giants like Instagram, Airbnb, Walmart have developed their apps using React Native technology. Planning to adopt React Native for your next app development project ? Do you want to hire React Native […]