Coldfusion Framework Chart?
Where can we find one?
Over the last few weeks CFconversations has some very informative podcasts on frameworks. Personally I am not the biggest fan of frameworks, however I am forced to work with some of the more poplar ones. I can see where they come in to place and on projects involving teams they do have an advantage, but for me most of the time on small projects they are a hindrance and add an unnecessary complextiy to my life. I find that by following my own methodology I can get smaller projects done quickly without having to send the junior developers on a crash courses in using Fusebox or Model Glue. I am aware it would be harder for someone to just pick up my code, but am not in a situation where that happens much and I think most small developers like me are in the same boat (all in house)
However the podcast roundtables had me thinking more about all the CF frameworks and the ones I have not tried and some none intrusive frameworks I had never heard of such as onTap and SOS.
I wanted to compare all the different ColdFusion frameworks. Yes, I know this has been covered hundreds of times before but I simply could not find a simple chart or something similar that compared all the available ColdFusion frameworks, can anyone point me in the right direction?


Caching
Friendly URLs
Plugin Architecture (in the latest build)
AJAX
I dont know where you are basing yourself that it doesnt, and you should use "Object Orientated" in quotes, since ColdFusion is not Object Orientated
Also, you might consider putting a "Dependency Injection" line in there because ColdSpring (with which Mach-II integrates very well) shouldn't really be in the ORM line.
Mach-II just added a substantial logging package but I'm not sure if that's a feature you want to list on a separate line or not.
Finally, Mach-II really shouldn't have Hibernate listed as an ORM because we do not provide integration with Hibernate.
How is ColdFusion not object oriented? In your opinion what constitutes an Object-Oriented Language?
If I can write an application using Object-Oriented principles in CFML doesn't that satisfy it also being Object-Oriented? Is there a series of criterias that a language must satisfy in order to be Object-Oriented?
Just curious
Riera: not syaing this is a guide, i want some input to correct it, having only really ever used Fusebox, Glue and Farcry Core i want to get a picture of the others before i spend time learning them. thanks for the input will now update the chart.
Mach-II: again i have never really used Mach-II and want to get an idea thanks for the input i will update the chart.
I am not the best to do this sort of chart as I only work in a few frameworks, however I am enjoying the exercise :)
Any corrections welcome as i want to get a good picture.
"But first, a necessary qualification—CFML is not an object-oriented language, and CFCs don't provide all the features and functionality typically provided by OOP languages. This isn't a bad thing—actually"
http://www.adobe.com/devnet/coldfusion/articles/in...
dont get me wrong, COLDFUSION IS LOVE
I know this horse is dead, but Ben Forta's comments notwithstanding, it all comes down on how you define "OO". Sean Corfield has said that CF is, in some ways, even MORE OO than Java. I suggest you check out these posts for arguments against yours (the Corfield comment is under the first one):
http://www.danvega.org/blog/index.cfm/2008/10/16/O...
http://ontap.riaforge.org/blog/index.cfm/2008/11/3...
I hear this - "CF is not OO" - quite often but no one can ever provide any concrete evidence to back this up.
I'll also make the comment that this is one of the least informed framework comparisons I've ever read. The fact that it has to keep changing in response to user comments shows how uninformed it is. So, you don't like publicly documented standard frameworks? Well, boo hoo! Get over your bad self but don't try to post comparisons of things you don't understand...
it was my lack of understanding that has giving me a push to find out this sort of information. I am NOT giving ANYONE a comparison of frameworks, or am I qualified to! This exercise is for ME, and my understanding, if an expert like yourself or Raul gives me advice i will take it!
I do have a lot to give this community and my thirst for knowledge is all I seek, don’t get all elite on me thats what the Java community is for.
What i wanted from this post is for me to have a more informed idea of the different frameworks before I spend time and effort learning it.
as a new CF'er, if I never grasp the basic fundamentals or models these frameworks are based on, how will i improve?
i do understand OO concepts i have worked in Java before I first started in .NET and CF and if you read my post above i agree with you, Java has set OO precedence which everyone compares CF to, and thats not right.
Last, I will completely disagree with you saying "this is least informed framework comparisons" because just from the comments above i have already learned so much.
My issue is that I understand the concepts and principles but lack experience in using CF frameworks and I think that’s the issue with a lot of developers I have worked with. Making an informed decision to which framework fits a project before investing time is all I was trying to conclude, and still want to! I have to manage a team and cannot make careless decisions.
I have a government project starting in a 3 months and would really like to use CF this time around to speed up development time, however it’s not a project I can use CF if I don’t have a standardized way of working. I needed to look at other frameworks other than Fusebox which I love to hate.
I still stand on my OO chart label. frameworks that allow or guided a user to take a OO stance forcing concepts like inheritance and reusability it what i was after.
PS. I know of people who have been on the end of Sean Corfield sense of humor but i do see his point.
end of my rant, I have John Farrar : Sean Corfield : now all i have to do is pee off Ben Forta and i have the full set :)
At the end of the day different frameworks solve different challenges. Each of them have trade offs (good and bad). Understanding what framework you should use when you haven't learned to use several of them is like someone who is new to computers trying to choose what computers his company should buy. The point I would make is the goal is noble but the perspective takes time. Each of us over time will choose different perspectives based on our needs, experiences and personalities. So your chart is full of facts but facts are not organic enough to cover the subject. This subject would be hard to cover in a book... not to mention getting it done in a blog thread. Then again... some guru may do just that and shock us all.
John Farra : I really hope someone does surprise us and do a article or something as its was what I was looking for in the first place. CF frameworks could be your next book, everyone knowns we need more!
Anyway, I have really appreciated your comments and everyone else who has posted here. its been a eye opener into the CF community which I so really want to be apart of....... and think given time will.
Isaac Dealey posted a fairly in-depth comparison of frameworks on his site (I don't have the link handy) but even his comparison was flawed in several ways. He took an application and built it with each framework and then wrote up his findings. Of course, as he worked his way through the frameworks, his approach to each framework was colored by his experience of earlier frameworks. Can't be helped - as you use more frameworks, your opinions of them tend to change.
Some years back I compared Fusebox and Mach-II, then added Model-Glue. That was back in the 4.x days for Fusebox and 1.0 for both Mach-II and Model-Glue. Things have moved on dramatically since then and I haven't had cause to go back and revisit such a comparison. Really you have to build some pretty big apps with each framework to get a feel for them - and you have to keep going back and forth between them so that you can take lessons you've learned using each framework and apply to them to other frameworks.
I've built systems with all three of those frameworks but tend to favor Model-Glue - although Mach-II has evolved in very impressive ways over the last year. I started with Fusebox (in PHP), switched to Mach-II (PHP) then Mach-II (ColdFusion), then back to Fusebox (ColdFusion), then Model-Glue and then added ColdSpring and then Reactor and then Transfer (instead of Reactor). My personal site and blog are still powered by Fusebox (the only Fusebox app I maintain these days).
I have not used ColdBox. Luis' documentation is amazing. A lot of people like it but I don't like the direct mapping from URL variables to CFC methods - even tho' I implemented it in Fusebox 5.5 to satisfy the community who didn't like XML. Having used Ruby on Rails a little as well as Grails - and Fusebox 5.5 - I can say that I don't really like convention-driven frameworks. Just my personal preference - but that's really what framework choice comes down to...
I have also not used onTap (but don't like the approach taken by Isaac - even tho' it will appeal to a lot of people). I haven't used SOS either (but what I've seen of COOP is pretty slick).
Sean Corfield: I see what your frustration was now, I never wanted to compare frameworks, just to find a comparison for myself in chart form. Thanks for taking the time to write such a detailed response on your experience.
I think ColdBox appeals to me, I actually like the idea of direct mapping. I know Fusebox has a version without XML. I have only just started to used the 5.x, so will see how that goes.
Isaac's onTap is also something that I think would prove beneficial to some of my projects, but as you said until I have the experience using it I will not know. When I do you can be sure I will post about it.
thanks everyone for there time, this has been a very informative post for me :-)
on and upwards!