It might seem like a daunting task to use a framework when you have spent many years without one. And when you see a demo project with some boiler plate code you might not even be convinced you need a framework.
In the initial phases it seems like adding extra complexity and some "magic" to a project is just going to make things harder to maintain. I found adding in the MAGIC part the hardest to come to terms with.
It is only once you realize the benefits of having a framework that you can adjust to the additional complexity that it adds.
- module installation
- shared layouts
- routing and route restrictions
- code debugging/time tracking
- interception points
- custom events
- dependency injection
- an opinionated methodology and configuration
This last one might seem like a negative. But I assure you it is not. Many of the framework's methodologies were not decided on a whim, they were inspired by other frameworks, competing language's frameworks (eg. ruby, php), and year of experience using the framework on different types of projects.
Coming from a background of non-framework projects, most features of an applications I worked on were homegrown and it wasn't long before I started noticing many of the features I previously built, existed in ColdBox or one of the many open source modules/plugins for ColdBox.
Examples of this include
- ColdBox Security - which includes cbAuth and JWT Tokens for authentication and permission management
- lucee-spreadsheet (spreadsheet-cfml) - A powerful excel library for reading and writing excel sheets
- ColdBox Mail Services - Consistent API for connecting with 3rd party mail service providers
- CBStorages - Consistent API for dealing with all persistent scopes
- ColdBox Validation - server side rules validation engine
- qb - a fluent query builder for CFML
- Sentry - a free bug log service that connects directly into coldbox
All these and more are available here
With the vast library of plugins/modules available today and the progressive updates being added to ColdBox it is well worth the investment of time to learn and adopt the framework. Until you do, you may not know what awesome and advanced features/plugins/modules/security your missing out on.
If your ready to take the plunge, and you have an idea for a project, the next step on your journey is to get started with a pre-built template, there are a number available for ColdBox so I have broken down what the do here.