I don't like frameworks but I love Mate!

| | Comments (5) | TrackBacks (0)

Some people may want to flame me for not liking frameworks but keep an open mind while I briefly explain.

Why I don't like frameworks
Frameworks are great for getting from 0 to 60 really fast, most of the time. They take care of redundant tasks for you by providing code to manage those tasks. If this is true, and I believe it is, then why don't I like them?

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 it provides is a common code-base a new developer can jump in and be productive because they already know the chosen framework. If the latter is the benefit, give me a few days with the new developer and I'll get them up to speed and productive.

I won't spend much time here because this isn't really what my post is about but the truth is I like to home-roll my own "framework". There is absolutely nothing wrong with you not using a framework...nothing AT ALL. (Maxim Porges has an entire preso he did, and I liked, at cf.Objective()) You choose what design patterns you want to implement and have at it. This is my preference regardless of language except PHP because CodeIgniter makes PHP fun. Spring makes Java a lot cleaner for me as well but those are about the only two. Well...enter Mate.

Mate (mah-tay)
I talked about Laura's preso at cf.Objective() in another post and due to my excitement I instantly wanted to see what it was about. Mate is presently in an Alpha stage but feels like a v1.

The event handling is what I longed for my own custom code-base to include (namely the one I built at Limelight) but never had the time to explore it. Mate is a gem in this area. Simply let your events bubble, setup EventHandlers (to do any number of tasks; ex - call a service, set a value on a class, call a method on a class, dispatch another event, etc) for the event(s), and you're good to go. You could stop there, I have so far, and be pleased with Mate.

The joy is being able to dispatch an event 20 levels into your UI and without setting a globally available property/calling a globally available method (ie - ModelLocator, etc) you can have another view/component receive an update regardless of the location in your app (direct ancestor or otherwise). It is really nice.

Now, another thing I don't like about frameworks that Mate solves is the majority of the time your app is 100% geared to that framework. Mate doesn't force you to extend any specific classes, unless you want to, so you could strip Mate from your app and merely have to rework your event handling and maybe a few other things, pending how deep you got with things.

I absolutely have enjoyed using it. Personally I am building an AIR app with it and at Limelight I'm redoing a presently built Flash 8 app in Flex w/ Mate. In 3 days of development (mind you, a little in the morning and at night including learning Mate) I have my personal app in a clickable beta and not with dummy code. It is 100% final app code already at the place to tie in data and be ready for an alpha build. The app at Limelight has only had about 3 hours of work on it and is almost in the same state.

Kudos to Laura and Nahuel of AsFusion. You have changed my (Flex dev) life.

Categories

0 TrackBacks

Listed below are links to blogs that reference this entry: I don't like frameworks but I love Mate!.

TrackBack URL for this entry: http://mt.johncblandii.com/mt-tb.cgi/107

5 Comments

Maxim Porges said:

Glad to hear you liked my preso.

I haven't had a chance to check out Mate yet, but from the preso Laura gave at cf.o(), I got a good feel for it. So far, it seems the least invasive of the Flex frameworks for the reasons you describe. I can't see myself using the flow control features, but the event routing is kosher in my book.

- max

John C. Bland II Author Profile Page said:

Yeah man...def' liked your preso. It validated my "distaste" for frameworks and I no longer felt "ashamed" for not using them. :-) lol. Framework zealots tend to look down on you at times. lol.

Yeah, the event routing is exactly why I'm using it. The rest I haven't looked at but the event stuff...muy bueno!

Thanks for your comments. I'm glad that you like Mate even though you don't like frameworks because if people like you feel comfortable using "Mate" for me it means that we are on the right track. You guys are the thoughts :)

John C. Bland II Author Profile Page said:

No sweat Nahuel. We need to get you guys to present for our local UG. :-)

Keep rockin'!

Hej, I totally agree with you. In most cases you get a very fast entry into that what you want by using frameworks. But that´s not everytime as simple as is sounds like. Sometimes, especially when a programmer wanted to be funny, you have to read and learn all tags and it´s becoming anoying when they don´t use comments. Than it may cost even more time then starting you projects without any frameworks, just as you like it to do. I started to use my own frameworks as well.

Leave a comment

   Navigation  

  

   Feed Info

Add to Technorati Favorites

About this Entry

This page contains a single entry by John C. Bland II published on May 14, 2008 9:40 PM.

New Pages on blog was the previous entry in this blog.

ColdFusion 8.0.1 Cumulative Hotfix (chf8010001): cftooltip Fixed!! is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.12

CFWACK 8 Links