Cairngorm 101

February 5th, 2010

Like many of you self-taught coders, I have read 100′s of programming books and so have become somewhat of a connoisseur or aficionado of this type of reading.

Well, I recently picked up a copy of Professional Cairngorm by Jeremy Wischusen (Wrox Publishing) and while I am not a big fan of Wrox usually, I must say this book is very well written.

Jeremy seems to be one of those guys who writes so well you forget your learning anything and you even forget you are reading.

  • He doesn’t talk about things he hasn’t explained yet (unless he tells you it’s coming later) so you don’t get frustrated thinking it may never come.
  • His writing style reminds me of Joey Lott, very thorough and smooth at the same time. Most technical topic writers seems to go back and forth and sideways while they are writing, as if they are trying to spit out a ton of knowledge on each page. Whereas Jeremy writes smooth like he knows where he is going and he knows how to take you there.
  • He gives the history of Cairngorm in a  way that is surprisingly NOT boring.
  • He not only tells you the “WHAT” that you want to learn, but also gives very complete “WHY”‘s as well.
  • I could go on, but I need to get to work!

So if you’re wanting or in most cases “needing” to REALLY learn Cairngorm, I’d take a look at his book, it is very good.

Thanks Jeremy for that great piece of writing that surely will clear up a lot of confusion surrounding Cairngorm amongst the lower ranks (guys like myself). At the very least it has made me appreciate the Architecture and given me a solid understanding of why and when I would want to use it or any other micro-architecture for that matter, as well as giving me solid pros and cons relative to it’s use when compared to not using it.

I might also mention that a great companion book to go with it would be ActionScript 3.0 Design Patterns by Joey Lott and Danny Patterson. I have found no book as good as it for explaining Design Patterns as they are used in ActionScript.

For a general design pattern book, I also like “Head First Design Patters” Java Based and very good. Also comes with a great poster “Your Brain on Design Patters” that I put up in my home office that is a quick index of design patterns and their intended uses.

MVC Frameworks for Flex

June 11th, 2009

I’ve been looking for partners who will compliment my skills and or looking for work in a company with AS3 coders who can really help me to grow as a professional….

This has led to a question that pops up in every interview… What is your experience with:

  1. Cairngorm
  2. PureMVC
  3. and now MATE (asfusion).

I already knew a little about Cairngorm and PureMVC, but just looked into MATE (as a company that started an interview process with me is using it…) and this triggered a thought I had ruminated on before, but now the ruminations are churning again…

Since I write almost 100% AS3 and use the Flex Framework almost 100%, WHY do I need a ridged MVC framework???

They all seem to add needless complexity to the task.

I asked Joey Lott (the guy I most respect for anything ActionScript) and he said, “I don’t use Cairngorm. I think it is unnecessarily complex.”  I think in the context of my question, that could also apply to PureMVC and possibley MATE.

So having an ActionScript rock star say that, added to my feelings that were the same, I now needed to find an answer to WHY all these companies require it or even WANT to use it (the micro-architecutre frameworks)…

Here’s what I came up with:

Since companies with many programming or developer employees have to all be able to work together and since they all come from different backgrounds of organizational styles, they simply must use a ridgid framework so everyone will be on the same page. Even at the cost of extra complexity, it saves time in the long run (so the logic goes)…sort of a design pattern for human resource organization more than anything else.

However, I believe that if the CTO sat down with the lead developers at the company formation or reformation, (speaking of Flex based projects only here), they could come up with organizational guidelines that would maximize structure without all the unnecessary complextiy.

Sort of like, ok, at Acme, Inc., this is how we set up projects. We use MVC in general and bla, bla, bla….you get the point.

I mean in PureMVC it takes five files to make a  service call, where it takes 5 lines in the Flex Framwork… the only potential problem in multi-programmer environment (for the 5 line flex framework solution) would be having an organizational model so everyone knows WHERE, WHEN the service call will be made (so they can find it easily for maintenance)…etc…

That’s my view anyway.