ColdBox 4.0 is the most significant change in the framework since it was first introduced. Go ahead - let that soak in a bit.
Now, what do I mean by that? Lots. Too much for a single blog post to do justice without becoming tl;dr. That's just how big these changes are.
Pruning
One of the key aspects to ColdBox 4.0 is what is not actually in ColdBox 4.0. You read that right, ColdBox 4.0 is missing some stuff. Don't worry, it's for a good cause. What we've done is kept all the key elements, the framework core components intact (WireBox, CacheBox, LogBox), but we've pruned out the stuff that not everyone will use. This is better for ColdBox and the ColdBox community in a lot of ways:
- It makes what ColdBox is, at its core, very clear
- It allows the developer to add to it the parts they need for their project
- It keeps the footprint small
- It speeds up the framework
- It makes ColdBox more approachable to newer developers
- It makes the framework very flexible
Less is More
Let me give a few examples:
- Do we really need that? Removing ColdBox components that are optional (as in not everyone will use them) has streamlined the framework to a mere 4-6ms execution time for normal requests. That's fast!
- Let's lose some weight! Pruning out these optional elements has made the core much smaller - roughly 80% size reduction. That's very nice!
- We got a module for that! ColdBox's modular architecture allows developers to add the functionality that they want or need through the many available ColdBox modules - making ColdBox 4.0 both extensible and flexible. That is super nice!
You see? By pulling out some of the vast wealth of options ColdBox has to offer and making them available through modularity, we've been able to make ColdBox 4.0 the slimmest, slickest, most extensible, and most flexible ColdBox to date. Truly less is more for ColdBox 4.0.
2 Key Areas
There are 2 key areas of this pruning for growth that are worth mentioning.
One is the modeling aspect. Among other things, the core ORM aspects have been removed. This means that ColdBox 4.0 is open to many different types of modeling:
- Hibernate/SQL/ORM styles that are very common in the ColdFusion community
- No-SQL types of modeling that are rising in popularity
Of course, the ORM aspects are still available with a simple CommandBox box install cborm
command - so don't worry, we're still in the ORM business! But the point is, that's not all ColdBox 4.0 does. Many of the team members are using a variety of modeling styles in their own projects and want to open doors to harnessing the variety of modeling aspects alive in programming today.
The second thing is a short list of what we've actually pruned from what was standard up until ColdBox 3.8:
- ColdBox Debugger
- Storages
- Feeds
- Commons
- il8n
- ORM
- ioc
- JavaLoader
- AntiSamy
- MailServices
- MessageBox
- Soap
- Security
- Validation
have all been pruned out of the core framework. That's quite a diet!
For Growth!
These changes make ColdBox 4.0 not only relevant for today, but also give it a bright future. By keeping the core clear and concise, opening up app architectural styles, and improving extensibility through modularity, ColdBox 4.0 is poised for growth.
Add Your Comment