How does ColdBox compare to other Frameworks


How does ColdBox compare to other Frameworks

Posted by Luis Majano
Jul 18, 2006 00:00:00 UTC
On my last post, Sami Hoda, pointed out the following:

How about an architectural comparison between Coldbox and other frameworks to give existing frameworks people perspective?

And I think it is a great idea to give reference on what ColdBox can do and how does it compare to other frameworks. However, I do need some help from you (Developers) to post exactly what you want to compare. I can ramble and ramble, but I would prefer to get a listing of what exactly needs comparison. So please post all your questions about this framework and I will start gathering the answers and posting them. Please try to be specific, give examples if possible, I have not used all the frameworks out there and I am no expert on any of them, except my own, :)

Here are some questions that I came up with:

  • What are ColdBox plugins?
  • What is the difference between a ColdBox event handler and a Model Glue controller?
  • How does model calls differ from ColdBox than Model Glue?
  • How are views in ColdBox different than in Model Glue?
  • Why does ColdBox have Layouts and views, while Model Glue only has views?
  • Coldbox can use UDF libraries, can other framework use them?
  • Do I code in my config.xml like Model Glue/Mach II in Coldbox

These are just some. So please bombard me with what needs answering, I will try my best to conjure up excellent answers.

Have a good night.

 


Brian Rinaldi

While those are some good questions, I wouldn't put as much focus on just comparing your framework to Model-Glue. Mach II and Fusebox are also MVC frameworks, and I would like to see a post about how ColdBox implements this uniquely and some of the specific benefits ColdBox has over others.

Sami Hoda

I think you can dig in to some core framework functionality such a single data bus, work with "plugins", config files, etc. Stuff we know frameworks have off the top of our heads. And how that compares. And where you feel, like Brian mentioned, ColdBox, is, and will, exceed or more easier, etc... Its USP (Unique Selling Point) so to speak.

Then we can go out and say, hey cool, take a look at this unique feture, or, hey look at how this is implemented over here, it unique... and could even start a good discussion into some of the hows and whys.

Maybe I'm crazy, I just like "framework speak", the more the merrier.

Scott

You mention (frequently) that Coldbox has an extensible architecture via plugins. But it seems that these plugins are nothing more the CFCs with some convinience functions.

Why would I write a Coldbox specific CFC to say parse an RSS feed when I could write a generic CFC and use Coldspring to configure it?

I also don't understand the support for setting web services in the config file for dev and production. If we are retrieving web services by a user-defined name, why wouldn't we register these web services in the ColdFusion administrator, and have different values for different servers?

Luis Majano

Hi Scott,

About the plugins, you can extend the architecture to use the inner structures of the framework and tie it together. If you want to use the example you made, I would rather create the rss parser as part of my model and use Coldspring to configure it. The way I find myself building plugins for a ColdBox enabled application is if I need to tap in to the frameworks life cycle. If not, then I find it does not belong there. You can build a plugin that can follow render helper patterns, to help rendering HTML, plugins for event handler security, for auto-documentation, etc. As always Scott, you have a choice and it all depends on the purpose of such aspect of your application. Sometimes it makes more sense to have it be part of the model or business layer and configured by ColdSpring. Sometimes, it might be better to create a plugin.

As for the webservices, here is the deal. You can configure them in the CF ADMIN, but what if you don't have access to them. What if you need to change the URL quickly, what if you need to refresh the stubs, what if you have an application that uses a wsdl URL for dev and one for production. I can give you more, I have made use of this feature countless of times, without me messing with the administrator. But yes, the administrator would solve your problem.

Site Updates

Entry Comments

Archives

Entries Search