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.
7 Proven Hacks to Enhance Your Mobile App User Experience
In this digital age of fierce competition, quality and performance easily outweigh brand loyalty. Creating a fluid user experience is essential for the success of any mobile app. Efficient user experience UX is the backbone of a visually appealing and engaging app. It can either make or break an app. Here are a few considerations […]
Things To Know About App Testing During Development
With years of experience in app development and testing, we give utmost importance to quality assurance in mobile application development. Our team of adroit software testers ensures that quality assurance is an integral part of the development lifecycle right from ideation to deployment and in post-development reviews. Here are a few things the QA engineers […]
Go Live: 6 Things To Do Before Publishing an App
After years of publishing applications to the app store, our team has come up with a checklist showcasing important things to do before publishing your app on Google Play or Apple App Store. Without further ado, let’s get started. #1.Thoroughly Understand The App Store Policies and Guidelines It is vital to understand the app publishing […]