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!