The Blog

May 3, 2008

Swiz, Mate, and Other cf.objective() News 

by Maxim Porges @ 7:40 PM | Link | Feedback (0)

Sorry for the lack of posting; I have been busy wrapping up the code samples and slides for my presentation on Flex without frameworks, which was well received when I delivered it to today at 1:30 PM.

A few other key things took place at the conference, which I will describe in brief now and in more detail later when I have the time to do them justice.

Swiz: IoC for Flex
Today, Chris Scott publicized Swiz (his IoC implementation for Flex). I got a sneak preview on Friday, and was able to make some suggestions that Chris got implemented before he rolled it out.

Swiz is pretty darn clean. It uses annotations to autowire components to each other, much like Spring 2.0 or Guice. Chris, Nahuel (the creator of Mate [pronounced "mah-tay"]) and myself sat around a little this afternoon and threw around some ideas for additions to the IoC implementation. Nahuel was a Flash wizard in a past life, so he has a very deep understanding of the Flash player internals and some of the more intricate details of Flex (such as the annotation support and SystemManager for trapping events). Some of Nahuel's suggestions would completely negate the need for Swiz to be "booted" on application startup, and provide runtime IoC - very cool. Meanwhile, I plan on contributing AOP support if I can find the time between everything else I have going on.

Mate Framework
Mate is a framework that the ASFusion team produced for Flex applications. I attended Laura's session, but would not do it justice in this quick pre-dinner post, so I will save my thoughts for a more detailed post later on. Initial impressions are as follows: it supports an ESB-like controller routing (very cool) without any invasive code (awesome) but has some capabilities that looked a lot like the FB3 switch (bleh), although if you don't want them you don't have to use them.

Like I said, I will cover Mate in more detail later on. I see the biggest benefit being that it is tag-based and incredibly easy for developers to pick up, so it will lower the barrier for entry to Flex best practices to those who don't have a deep background in OO system design, while at the same time alleviating the cruft required from Cairngorm (which newbies typically flock to because all the cool kids are doing it). That being said, I listened to Tom Burleson's podcast on the The Flex Show regarding the Universal Mind extensions to Cairngorm, and they sounded pretty decent, so I should really check those out before I make any more snide remarks.

The Future of CF
In discussions at the pre-conference reception I was telling people that this might be my last CF conference. I love the people I get to see here each year, but there just wasn't that much for me personally to glean from the sessions since I don't code in CF any more (although the interactions with Chris Scott and Nahuel today alone were worth the cost of attendance and travel).

What surprised me, however, is I got the same impression from several of the prominent speakers I'm used to seeing on the circuit. I won't out anybody, but these were some big names. It seems that people have moved on to Rails or Flex or Java primarily, and the CF work just isn't as exciting any more.

I guess this could mean one of two things: either there is room opening up for new faces in the CF circuit, or CF is really losing its mindshare after all. In my opinion, Jason Delmore had nothing significant to present for CF in his keynote other than the fact that it had been reclassified in Adobe's scheme of things out of the Enterprise space and in to something else (I have it on tape, but don't have the time to get the name of where CF is classified now), and that they were working on enhanced tooling support - so great, finally on version 9 there will be decent tools for CF from Adobe (what's wrong with CFEclipse, anyway? Adobe never cared before).

I think it's time for a bigger shakeup with CF. Adobe needs to change the language to catch up with the times, or open source the engine and be done with it (i.e. let people who want to change it put in the effort, and make it something better). They can always hold on to the LiveCycle stuff for themselves as part of the Enterprise package.

Then again, I could be completely wrong. Luis Majano is still gung-ho about CF, and continues to add features to ColdBox like crazy. So, maybe I'm just a curmudgeon now that I've moved out of CF completely and moved on to Flex. Only time will tell.