Well, I'm writing an article about it right now. I plan to make a very
good case for CFML as a stable and rapid deployment platform,
particularly using the emerging open source tools and app engines. I
think we'll see a lot more of ColdBox in enterprise production
environments soon.
So, with that aside, I think ColdBox is the most flexible and most
powerful CF framework out right now, at least for my needs. Others may
be sufficient for specific needs, but for a flexible, scalable and
FAST solution, ColdBox works perfectly for me. I know a lot of people
consider their framework the "best", I think there is the best for
certain jobs. I can see uses for others, but none of them do anything
ColdBox does not. I cannot say the same applies in reverse...
Some points:
It's easy to get started with. You can pick it up and quickly begin
developing apps, but if you want complexity, it's also there from the
very beginning. If you don't fully understand MVC or some other
elements of OO web development, ColdBox is still very natural to use
and introduces you to many concepts in a new way, this has been
something many people that have worked with it have said.
It gives you SO much built-in functionality, but leaves the door wide
open for your own integrations. The layer separation is great, and
with the addition of standalone modules (something I suggested in
enhancements, unaware that Luis was already working on it) and the
Hibernate interceptor (which I am working on) so much complex work is
done for you, but you still get a grip on exactly what's going on
underneath.
Things like the Groovy loader, Transfer and Reactor integration,
Lightwire and ColdSpring integration, ColdBox's own IoC (BlenderBox,
which will be standalone also), Security, Interceptors, CONVENTION
(this is huge, the ability to have convention over configuration,
while configuration is still an OPTION, not forced)
There is a LOT of documentation (600+ pages, plus a full API guide
online, trac, wiki, tutorials, forums, etc). The information is not
sparse like with many frameworks.
For a skin and bones application, ColdBox is very light and easy to
launch. It allows you to add on easily without weighing you down from
the beginning. With built-in dependency management, AOP via
interceptors, etc it's really amazing how it runs so fast.
Security is handled in a great way, and leaves open hooks for your own
validators and logic.
Debuggins is a breeze.
The caching system alone is worth switch for, I haven't seen quite
this much attention applied. It's very slick and thinks ahead.
There is an Illudium PU-36 template set, as well as an Eclipse plugin
for code generation and easy development.
I'm running ColdBox on Railo and seeing (literally) 10 times the
performance vs. CF8 in many cases.
I have pages that are 284 milliseconds on CF8, while the exact same
code runs in 29 milliseconds on Railo.
The same handlers, all configured optimally using ModelGlue or FuseBox
are not as fast as they are in ColdBox.
The SES in ColdBox is AMAZING and SMART.
I can do:
http://www.foo.com/123
http://www.foo.com/user/25
http://www.foo.com/calendar
http://www.foo.com/calendar/6/25
etc...
ColdBox is very powerful and comes with a ton of example applications,
including examples integrated with Transfer and alot more.
Luis and the CB guys are always prompt in responding and try very hard
to help.
ColdBox + Railo = fast fast fast
This was typed up in casually, my article will make the case more
clearly and properly.
Anyway, ColdBox is my framework of choice for the foreseeable future.
I can write in all Groovy if I like and use ColdBox as a glue layer.
I have other apps in MG, one in mach-ii, some tests in FB, but none
have been as much fun, nor as easy and powerful to work with as
ColdBox.