A debate rages on across the ColdFusion development community about the inclusion, and use, of the AJAX driven components and accompanying tags that have been included in the Beta Release of ColdFusion 8. Many examples of their use and benefit have already been posted by the likes of Ray Camden, Ben Nadel, and Ben Forta. No surprise there, as they all are huge proponents of the product, and, like so many of us, are very excited about the upcoming release of our favorite web programming platform.

But there are others still that think that the inclusion of these tags and components don't necessarily belong in the core language set of CFML. Many of these folks are also diehard JavaScripters, who took up writing AJAX early in it's infancy, fashioned their own components, or even contribute to open source libraries like JQuery. They argue that maybe the tags should have been separate CFCs available through the Adobe Developer's Exchange, or that the JavaScript rendered by the ColdFusion engine is too fat, taking up unnecessary bandwidth.

Can't we all just get along?

I, too, love many of these third party JavaScript libraries. I am a huge proponent of JQuery, including it by default in every project. Currently I am running a multi-part tutorial on creating a paging DataGrid using Jack Slocum's ExtJS UI library. I think that using these libraries, or others like them, is the smart thing to do. Not having to reinvent the wheel. Giving developers the ability to create sharp, interactive, and creative user experiences. And I got very excited when I saw that Adobe had created tags for implementing components like these, using the ExtJS UI library for the majority of the components.

"But the scripts are too fat! Why aren't they compressed? They're to big! They take up so much space and bandwidth!" Yes, they do. But I think some people are missing the point as well.

When was the last time you used cfform? Many experienced developers stopped using it years ago, instead rolling their own JavaScript client side validation and ColdFusion server side validation. Rolling our own gave us more control, and allowed us to get more creative, writing our own custom controls (or using someone else's). Some of us learned what to do, and what not to do, by reading through the Macromedia included scripts. The point was, we could use it if we wanted. Have a quick project with no budget? Use cfform instead of writing your own validation. Saves you some time. Quickly prototyping an application for a client? Use cfform. Give them enough to say "I like it, but I want it to do this too," and get them to pony up the dough to spend the time to write it right.

ColdFusion is the language for "Making the hard things easy." The primary focus hasn't changed, it's just gotten an overdue facelift. The same arguments still apply. Ultra-newbie wannabe developers, writing their first site for Ma and Pa's Kountry Kettle, can create a more feature rich site, and user experience, with minimal learning curve. More experienced developers can create quick prototype applications to gain further approval for time and funding approval, or keep it simple to keep it in budget.

Should Adobe compress all of these scripts prior to the final release of ColdFusion 8? Sure they should, and I'd be surprised if they weren't listening very carefully right now to all of the feedback coming in on the Labs Forums. The bandwidth debate rages on, even as connections are getting faster and faster, but there are people still using dial-up connections. But that shouldn't keep these components and tags from being included in the core language set. They are a welcome addition, and benefit every developer, no matter what level, in the robustness of the feature set they offer, and the ability to do what no other server-side engine can currently do out-of-the-box.

So, to those who feel the need to debate, kwitcherbellyakin! Just because the tags and components are there doesn't mean you have to use them, it just means you should in the right situation.

ColdFusion 8. Use It. Love It. Live It.