Yes, that's right. Wherever you are and whatever you're doing, it's time you had a look at what's happening over in ColdBox 4. I'm just giddy about our newest release of the most-advanced CFML MVC platform. If you want to read all the details of what makes ColdBox 4 absolutely slap-yo-momma amazing, you can read the press release over on the engineering blog or the What's New guide.
Even if you are using an older version of ColdBox, we're re-imagining the way CF apps are built and I think you want to be onboard. This is my personal blog though, so here you'll find my candid, personal, and extremely biased opinions on why you're doing yourself a disservice if attempting to build meaningful ColdFusion applications in 2015 without ColdBox 4.0. Fair warning, I'm about to tell you how I really feel :)
ColdBox was the original convention over configuration framework in CFML and has been refined over the years to solve your problems and make you more productive as a programmer. It's maintained by people who write CFML-based applications for a living, and we use ColdBox to do it. CFML is our primary language and ColdBox is our toolbox of choice. We use this experience to remove pain points, add shortcuts for handy things, and identify the redundant things we're tired of building over and over.
Your clients don't pay you to write code, they pay you to complete functionality their business needs. On its face, a single screwdriver might be the simplest tool, but would you build a house with just that screwdriver? ColdBox is a toolbox. You carry us into a project because you want solutions, not because you like writing code.
ColdBox can no longer be called a "kitchen sink" framework. With the exodus of MUCH of the core functionality now as optional modules, and the new documentation push via GitBook, the surface area for the entire system just got smaller. ColdBox 4.0 is 80% smaller than its v3.8 predecessor. We've dropped support for old versions of ColdFusion, converted to script (which yields a 25% drop in code right there) and ripped out every non-core function from the codebase.
We're not a micro-framework now though! All that power, that functionality, that productivity is still at your fingertips as external modules you can install in a matter of seconds from ForgeBox. The modular groundwork we laid in 3.0 has now been fully realized and it's a first class citizen of the platform. ColdBox is now exactly as big as you need it and want it to be. Our goal isn't to be invisible, our goal is to be there when you need it.
I already talked about how ColdBox developers get working apps out the door faster. But ColdBox is literally fast. As in, the time taken to route the URL, execute your controller logic, and render a view is blazing fast. ColdBox has always been quick, but finally prying bits like the debugger from the core combined with the internal caching of handlers, etc has just slimmed down request times to rock bottom. On a dev machine, a basic event runs in just a few milliseconds. If your application is slow, you don't need to look at the framework.
It's More Productive
Though technology-based applications vary far and wide, there are certain basic functions that are universally present. Kind of like cars-- they all have wheels, windshields, seats, and a radio. I wouldn't waste my time building those from scratch on every new project, and neither should you. The ColdBox Platform and its ecosystem of libraries, tooling, and modules are the fastest way to get websites out the door. If you've manually written code to create objects, log information, cache data, validate input, translate text, display success/error messages, interact with Java, or query ORM entities you're doing more work than you should be!
ColdBox modules are an unprecedented concept in the CFML world, but they shouldn't be surprising. Look around you. Gone are the days of monolithic systems-- most every piece of successful technology today has a pluggable concept for extensibility and just pure organization. Modules let you secure your systems by not even pushing the debugger module to your production server. Modules let you break off chunks of your app into a folder so can be managed by a separate team in a different repo, yet still tie directly into the core of the app. Modules let you write reusable libraries that you share with the community on ForgeBox. Modules provide extensions and hooks so that just dropping the folder in automatically registers CFCs, adds settings, and appends interceptors to an application without touching any core code. Modules can be an entire application, or literally a single file. This is an amazing concept that has revolutionized how we code, but you'll only find them in ColdBox.
At Ortus, our vision is much, much bigger than MVC. CommandBox is an integral part of that vision, providing command line tools, scriptable
recipes, package management, and application scaffolding. Our entire modular move in ColdBox 4.0 was with CommandBox in mind. You can create an entire app with a single command, and then add your pick of core modules with a simple "install" command. No other frameworks are giving CFML
developers this kind of
Let's create an MVC site ready for ORM, Java interop, and data validation and start up an adhoc server in less than 20 seconds:
CommandBox> coldbox create app myApp --installColdBox
CommandBox> install cborm,cbjavaloader,cbvalidation
CommandBox> coldbox create handler myHandler index,list,detail
Boom! Every Ruby and Node.js developer just collectively yawned. This is the basic stuff every other language has been using for years! The CF world is getting it now, and it's called ColdBox 4 + CommandBox. Are you developing like it's 1998 still?
There have been a number of CF frameworks over the years and many have fallen to the wayside. The Box line of tooling has been actively developed since they revolutionized the CF landscape in 2005 and they are still getting more GitHub commits
and mailing list traffic
than any other CF framework in existence right now. We're releasing more tools, more docs, and more ground breaking features. We do a free full week of online webinars
every year and hours of other webinars
and screencasts throughout the year. My favorite part is how much help we get from the community. Most of the speakers at Into The Box
, ColdBox Developers Week
, etc are volunteers. We're all about the community-- just look at projects like ForgeBox, and we're committed like few others are right now to help it grow.
It's Here For The Long Haul
All the Box products are professionally backed by Ortus Solutions. An actual company is backing everything put out with training, support, bug fixes, sponsored features, and mentoring. We're the only CFML framework with representation (sponsorship and presentations by the Ortus folk) at almost every worldwide CF conference. Heck, we're the only one with our OWN conference. Our primary jobs are writing and maintaining CFML apps. I'm really not one to brag about these sort of things, but I think it is something to be seriously considered when you're thinking about the toolset you want to build your applications on for the next 5 years. Are you using tools with a long-term CFML vision? It's just a no-brainer to me.
Stop Making Excuses
ColdFusion has been drifting towards irrelevance for several years now and developers need to step up their game like never before to ensure that we're staying modern. When someone finds out you're a CF developer, are you a little ashamed to admit it, or do you excitedly tell them about the cool new apps you're working on? If you don't want to be looked upon as a cowboy-coding relic from 1999, then stop acting like one. Brush up on software craftsmanship, read books on good coding practices, and find standardized conventions and tooling that the community can grow around. This will take work and will force you to learn new things, but it will be worth it. I just so happen to believe that the best set of tools poised to make you a developer worthy of 2015 includes ColdBox 4 and its ecosystem.
Go and create!