About a year ago Ben Forta created a bit of a stir with an article titled, “When Using ColdFusion No Longer Makes Sense.”
It wasn’t that Ben was advocating the abandonment of ColdFusion for some projects, or for day-to-day work. Rather, Ben was simply recognizing that fact that ColdFusion has fallen behind in creating and developing client site technologies.
In my opinion there is no longer a compelling reason to use any ColdFusion features that generate client-side code for you. Be it UI libraries, form validation, data grids, menus, embedding maps, and more, there are now so many alternatives that are clean and lightweight and easy to use that it is more productive to just use those instead.
~ Ben Forta
I recently completed a new project for DCEF, the Building Assessment Tool, and afterwards it struck me just how much ColdFusion technology I didn’t use.
The initial search form and result list is based on jQuery DataTables. It retrieves its JSON data from a CFC component via AJAX, but that’s all back end code.
The entry form is based on my latest DataFormJS code generator, which is itself tightly integrated with the jQuery Validation Plugin.
Backend data services are provided by the 2nd-generation DataObjects ORM, layered over a SQL Server 2005 database system. Other than the aforementioned AJAX code, there are no hand-written queries whatsoever.
Report generation is handled by ColdFusion, though embedded chart generation is handled by Highcharts JS due to various printing and integration issues with CFChart.
So. No CFForms. No CFCharts. No CFGrids. One custom CFQuery.
Like Ben, I’ve stopped using ColdFusion-specific tools where other technologies are preferable.
The objective has always been to use the right tools for the job, recognizing that what is right for one project may not be right for another, and that what is right today may not be right tomorrow.
~ Ben Forta