Sunday, November 29, 2009

After moving from Modelglue to Coldbox, suddenly it's fun again

After using Model Glue (MG) for a few years, I started about 6 months using Coldbox (CB) and boy has it been a refreshing experience. Both claim to be Model-View-Controller or MVC frameworks, but as I have said in the past, Model Glue is MVCX, that is MVC + XML.

I hate the X in the MVCX, purely because XML isn't a programming language. CFML is, and that is what made programming Coldfusion (with Coldbox) fun again.

You simply can't express complex ideas simply in an XML file, it's a no brainer. The XML files used in Model Glue are highly repeditive and violate the DRY principle.

I am a CF developer since 96 and while i really benefited from using MG, I was continually battling the concept of trying to be 'true' to the framework and working with the XML files, without breaking the basic MVC concept. Anything complex always ended up with what I saw as dirty workarounds.

Alas, in business, you can't just simply switch frameworks on a large project as most often the client isn't going to pay (or understand) why you need to spend a few weeks rewriting something which already works.

So a new project came up and I finally got dirty with CB, which has turned out to be rather fun. CB has such a broad scope of functionality and great documentation, I find myself writing code without having to work around the limitations imposed by MG.

As I have been doing this programming thing for quite a long time now, I have learnt that often when I get that nigglying feeling that I should be doing something different or that an extra bit of work here or there, it pays off.

Of course that can be a complete scope creep trap for some developers, but that's the role of the senior developer / tech lead / solution architect to understand and make such rational calls.

I use the analogy of selling helium balloons at a fun park. If you fill the balloons and seal them properly , you can walk around all day and just focus on selling the balloons. If the balloons leak, your going to be dealing with parents with crying kids coming back all day to complain, plus you'll be making trips back to your van to refill your stock.

When I worked at a SME a few years ago, on a big project for a Telco, I was lucky enough to have my desk in the same area as the support team. That meant I got to over hear problems as they came in and over time, that allowed me to stablised the project with targetted improvements that so drastically reduced the amount of support required that the project as deemed mature and was outsourced to an Indian support team.

What I love about CF is how productive you can be and how amazing the CF community is. Adobe, has rather expensive support, but that has always been less of an issue for most CF developers & shops because of the community, most of us simply have never used Adobe support.

All I'm saying is that if your using Model Glue, let me recommend taking Coldbox for a spin, it will make your programming life much more enjoyable & productive.

1 comment:

raulriera said...

Allow me to recommend you ColdFusion on Wheels http://cfwheels.org you won't believe how easy and fun is to build stuff (again)