Showing posts with label coldbox. Show all posts
Showing posts with label coldbox. Show all posts

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.

Thursday, May 24, 2007

mega coding stint underway

i've been MIA to the world since last friday and the results are beginning to show.

been working on a mapguide 'workbench' using cfmx and mapguide open source via the java api. lots of oracle spatial, cfc's, some java, php, javascript, xml has been going on.

having jira and subversion makes life easy.

i've filed a lot of bugs with mapguide over the last week, now that it's an open source project it's nice to file bugs. before it became an open source project it was a very frustrating experience.

i have been enjoying a few programming journeys this week, hitting bugs in old data requiring SDO_MIGRATE.TO_CURRENT to be added under the hood inside the application, finding an memory issue with mapguide and the open source oracle fdo driver, niggling little things for developers and how mature the javascript world is :)

I find myself using cfabort a lot still with model glue. I am looking forward to the next (coldbox release 2.0.1) with the event tracing for requests. then i am going to migrate this code over to coldbox.

still i'm comfortable with model glue these days, i quite like it. even found wacking a bean in an enjoyable quick (as in the fastest way) solution.. finding i'm starting to enjoy software patterns and be really productive with them.