Frameworks, frameworks everywhere

Frameworks are a favorite topic of mine. Just to get everyone on the same page, Wikipedia says a framework is “a basic conceptual structure used to solve or address complex issues”. Put more simply in application development terms, a framework is a set of files (code), conventions and best practices designed to help structure code for ease of programming, collaboration and future maintenance, and to stop developers from reinventing the wheel on every project.

When I started using ColdFusion, frameworks were largely unknown to the developer community, with one or two fledgling offerings available for the really adventurous. As the web has grown, ColdFusion has become more sophisticated to meet its expanding needs, and the choice of frameworks available has absolutely exploded.

A few weeks ago, SitePoint ran an interview I did with Geoff Bowers, the “benevolent dictator” of the FarCry community. While FarCry is better known as a content management system, the FarCry building blocks act as a framework, allowing developers to build complex applications. Just last week, this was followed up with an interview with John Farrar on his COOP framework, which is designed for rapid prototyping and easy collaboration between front end developers and back end developers. I used the same questions for each interview, so that different aspects of them can be compared, based on the answers. They’ve been phrased to try and help developers decide if a particular framework could work for them.

At the moment, I have the brains behind Fusebox, Mach-ii, Transfer ORM and ColdBox also working away on their answers to the same set of questions, and once those are out, I have every other framework developer firmly in my sights, no matter how big or small (so if that’s you, get in contact with me – kay at smoljak dot com). Over the coming months, we can look forward to seeing how each framework is similar and different.

But first, let me know what you think: are you a framework aficionado too? Do you use your own system? Or do you think it’s all a load of bunk? Let me know what you think. I’ll leave the poll open for a week. I’m looking forward to seeing the results!

[poll id=2]

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • http://www.etherealfusion.com ethyreal

    great post, i look forward to the results from all the combined interviews. i saw no mention of model-glue anywhere, are you planning to include them as well?

  • http://kay.smoljak.com/ kay.smoljak

    Thanks ethyreal! Yep, Model-Glue is on my list… as is onTap and CFWheels, as well as frameworks with a specific rather than general focus like ColdSpring, cfcUnit and RocketUnit. In fact, any framework that I can find (and I realise there’s a lot).

  • tonybone

    I’m enjoying the framework series a lot, Kay. I’ve become a Coldbox user myself (and have also played with ColdSpring a bit), but it’s great to know more about the other offerings out there. Thanks for being such a good CF evangelist on Sitepoint.

  • Sean Corfield

    Here’s the list of frameworks we use at my company:

    Model-Glue, ColdSpring, Transfer plus Edmund (my new specialized framework to be released this year) and then for testing we use MXUnit, CFEasyMock (and ColdMock a little but we’re moving to just CFEasyMock).

    I’m a huge advocate of frameworks (no surprise!) so it’s great to see this coverage out there – keep up the good work!

  • Sean Corfield

    And I meant to add that I’m stunned to see 32% “not interested” in frameworks… I can understand people not using them yet and looking into them but saying “not interested” seems remarkably closed-minded to me.

  • Dan Vega

    Great Article – Looking forward to the results! I would have to agree with you Sean. I am really surprised with the not interested count. Adoption is one thing but you would at least think the majority of developers would like to make their life easier!

  • SIGEPJEDI

    Looking forward to the results.
    The percent of those “not interested” in frameworks seriously need to step their game up!

    http://twitter.com/sigepjedi

  • David

    I have to be honest, I was kind of surprised at the poll results (well, after 117 responses). It kind of goes to everything I’ve heard at conferences, and within the CF community – those that use frameworks love them, and those that don’t, are pretty apathetic towards them.

    Sean, I think there’s a bit more space between “no, but looking” and “no, not interested” than indicated by the choices. The latter is almost the default choice, if you are not using a framework, and not actively looking, where do you fall? I would guess (and its only a guess) that part of the 32% is open to using frameworks, but are apathetic, or just haven’t made the effort. For sure, though, there are those that are completely close minded to using them.

    Still, just thought I’d put a different spin on the numbers.

    Cheers,

    Davo

  • cfer

    Sean, I think your interpretation of the statistics isn’t quite solid. “Not interested” may mean just that: not interested in using a Coldfusion framework. That is not necessarily close-minded. The respondent might be interested in a non-Coldfusion framework, or might not be interested in Coldfusion at all.

  • John Farrar

    I think this means they might have looked but didn’t find anything they were interested in. It seems most frameworks presentations tie so much to the framework that the user doesn’t see a good ROI from their perspective. Years ago it became apparent to me that one of the human conditions is we act on perception and not truth. (If truth matches our perception then we act on it of course, but in and of itself it doesn’t mean people will act on it.)

    With that said, Frameworks are things I perceive to be truths. Sometimes the people creating and promoting frameworks make them unapproachable from the perspective of outsiders. Things like presenting an ORM wired to an IOC technology from the start. This is easier in practice, but not in approachability. :)

  • sosensible

    I think the bigger issue of frameworks is our geeky approach. (pardon me for the slur) We see the technology and expect our truths will be adopted because they are truths. My understanding is not that these people are not interested in frameworks as much as the frameworks they have checked out didn’t prove worthy to them of interest. People act on perception. If they don’t perceive the framework is approachable then the won’t be interested.

    Example: Some frameworks and ORMs tie themselves to an IOC system. With this one sentence some people are ready to jump of this post. These concepts are foreign and the the foreigner they need to see an ROI from their perspective that is worthy of the investment. AND… they must buy into it… not just agree mentally. If they do not they will take the attitude that they are not interested in frameworks because to date none have been perceived as worthy to use. :)

  • fleet19

    How long is the series going to be in-progress for? Some associates and I are developing a hybrid framework / tools set exclusively for ColdFusion but we don’t project the initial release will be ready until August. We expect the “framework” to take off like birthday cake and would love to be included in the survey. It’s called HotCore, and will be combinable with pretty much every CF framework on the market today (we think).

    Thanks!

  • http://kay.smoljak.com/ kay.smoljak

    Thanks everyone for your great comments!

    When you’re setting up a poll I guess there are always options that you could add… but at some point you have to try and lump people into a broad category in order to get a meaningful generalisation. I realised afterwards that one option I could have added is “No, because I don’t know much about them” for those who maybe have not been exposed to much framework information. “I’m not interested” perhaps sounds more negative than it should – someone might be not interested because they work in an environment where development style is dictated by someone else, or because they don’t feel they have time to investigate, or some other reason that is not necessarily close-mindedness.

    Still, the number of people who have indicated that they are looking at one or have recently starting using one is encouraging. I would have loved some comments from people who aren’t interested in what a framework has to offer, but I guess the fact that my articles are very much pro-framework is probably makes leaving a negative comment a little intimidating.

    @fleet19 – I will keep going until either I run out of people who want to participate or people stop reading the articles :) So contact me after you launch (or maybe just before) and we’ll set something up.