Kay lives here

working with the web

Frameworks: the new black

It’s probably no surprise to those who read this blog from time to time (when I actually post, ahem) that I’m a big fan of the concept of coding frameworks (a system of common code elements and accepted practices to speed development and ease maintenance of applications). I use Fusebox myself, but there are a ton of great open source ColdFusion frameworks out there and I definitely encourage all ColdFusion developers to check them out and find one that suits their needs.

Consequently, I was very interested to read a recent article by Mark Mandel in the Adobe Developer Center, on the topic of frameworks. Mark has taken the approach of dividing his article into three classifications of frameworks:

  • Model-View-Controller frameworks used to manage application structure and execution (Fusebox, Model-Glue, ColdBox etc);
  • dependency injection frameworks to manage ColdFusion components (ColdSpring, Lightwire); and
  • persistence frameworks or object relational mappers (ORMs such as Mark’s own project Transfer, Reactor).

What’s interesting but maybe not immediately obvious to someone new to frameworks is that a single application can make use of one framework from each of these three classifications. Mark’s article does a great job of explaining the differences between them as well as briefly going over the most popular/well-known frameworks from each grouping.

The large number of frameworks that exist, have active communities, and are being constantly developed and expanded says a great deal about the maturity and growth of the ColdFusion language.

Check it out: An Introduction to ColdFusion Frameworks

2 Comments

  1. It really lays to rest this notion I remember reading about a few years ago … actually part of how my Galleon ports project came about … where a number of people were hesitant to start learning a framework for fear of chosing one that might not ultimately “win out” (as though frameworks are all competing in some strange technological equivalent of “king of the hill”).

    Actually that indecisiveness about choosing a framework (and fear of it going away) is a very basic human experience – we pretty much all have it. But as I’ve said before, I don’t think any framework is likely to become a “gold standard” like used to be the case with Fusebox back when other CF frameworks were scarce. I think we’re only going to see more frameworks being created and more activity in them. ;)

  2. I really want to get myself going on learning at least one CF Framework. I had the chance to learn a coding framework until my last project, when I simply told my superiors that learning MVC was going to be part of the project (Cairngorm for Flex). I had previously written two other Flex applications in “freeform” (the way I’ve always coded – put anything anywhere and make it work). In fact, my first application started out as one 2000 line MXML file. Since learning and using Cairngorm, I will never go back, and I’m even thinking about porting the old apps into Cairngorm.