A little background on the questionAdam's entry was his response to an observation I'd made on a private mailing list that I'd not seen any good single resource to point people to when they raised concerns about having to pay for CFBuilder. We who have "seen the light" wonder why people even debate it (as he addresses with observations from others in his entry).
While his entry expands on the oft-shared Adobe graphic comparing features among it and the existing CFML editors, there are some more features that may not have been t important enough to be listed on that graphic, but are sometimes a source of concern/contention for some as they consider CFB. Here are a few of them.
Some more points to consider
- CFB offers something not in DW, HS, etc: its "local history" feature (per its Eclipse heritage) can be likened to a poor man's version control (though of course it offers full integration with "real" version control, which is preferable).
- While CFB (and Eclipse CFEclipse) are designed around use of "projects", CFB doesn't *require* use of them. It offers (via its Aptana-inherited features) the ability to work with files directly, and unique compared to Eclipse/CFEclipse, you can even open a file from the file system (like Windows Explorer) and it will open as a new tab, not a whole new workbench.
- DW and HS have features to "open include files" by right-clicking on CFINCLUDE, and some miss that in CFB. But it can do that sort of file open, and it's even more powerful. It's just not available on the context menu. Instead, one should hold the ctrl (or mac) key and hover their mouse over any kind of file link, and it will offer to open it. That can be a CFINCLUDE or a CFINVOKE/cfobject/createobject of a CFC, and more. It can even be on the name of a method used in code (script or tag) and it will open that method in the given CFC. It also works on a href and other html tags that refer to files. Very powerful.
- Some people lament that DW could do a "split window", showing part of a file in one window and another part in another, editing them simultaneously. Again, though it's not a right-click feature in CFB/Eclipse, it's there. You use Window>New Editor, which creates another tab with the same file, which you can then move to be above/below/side-by-side within another editor/tab.
- Some lament a lack of word wrap in CFB. It's there. See Window>Preferences>HTML>Editors (don't expand that) then its Advanced tab.
- Some complain that CFB doesn't do code completion (closing tags). It does, but it's not enabled by default. See Preferences>ColdFusion>Editor Profiles>Editor>Typing, and note the options to close (as in DW) either when closing the opening tag, or at the start of typing the opening of the closing tag.
I will note, however, that I've found that HTML tags won't close (though they should by default). That problem is that the feature expects that there's an opening/closing HTML tag wrapping the page content. We often skip that in CFML, or may be working with a file that's included/called from another. At least this explains when it doesn't work.
- CFB has support for EXT/JS 3.0 (see the CFBuilder help/documentation section on "Import Ajax libraries")
- CFB can build AIR apps. See "Developing AIR applications" in the CFBuilder help/documentation.
- CFB has built-in support for doing a file compare. Select the files in the navigator and right-click and choose "Compare with".
- Some complain that they can't "edit a file on a server via FTP", meaning open it remotely, edit it, and save it on the server. While may will argue that you shouldn't do that (but should edit and test locally then deploy remotely), I'll note that you can in fact do that, if you use the Files (not the Navigator) window to open a remote connection.
- Don't miss the available Services Browser, which allows you to browse (within the editor) any CFCs *or* web services, seeing their methods, arguments, and more. I've blogged more about this to walk you through the oft-missed web services feature, which I'll note is similar to what's in DW.
- Don't overlook creating a Server connection. Sometimes people complain that some of the asserted "powerful and unique features" of CFB just "don't work" for them. For them, I'll note that you really HAVE to create a Server connection for your projects. That's an optional step when creating a new project, but if you overlook it, many things just won't work. It's this server connection (and the related RDS connection) which allow the IDE to talk to the server to get info on the CFCs on your server, the DBs and their tables/columns, etc., not to mention the features for starting/stopping the server, connecting to its admin, etc. I point to several blog entries that discuss that point about the need for defining servers in my Hidden Gems talk.
- For all its features, some complain of performance problems. As Adam noted in his entry, many have been fixed first in the final release and then in the recent updater. Beyond that, though, the CFB docs do have still more addressing this specifically. See the section "Optimizing ColdFusion Builder Performance".
- Finally, it should be repeated that because CFB is based on Eclipse, there is a whole world of Eclipse extensions that can and do add still more functionality, generally for free.
- Indeed, there is more to CFB in the way of features of Eclipse itself, as well as the Aptana plug-in that's included with it. So it would behoove one to look into those more. I point to some resources for exploring those more in my Hidden Gems talk.
Lots more tips, tricks, and traps
Indeed, that Hidden Gems talk (whose content is available online as both a PDF and a recording) offers still more about some of the features I list above (including doc or blog links), and it offers still more in the way of tips, tricks, and traps in working with CFB.
It's not really meant to address the "why buy CFB" question, but instead tries to help those who've used it (or tried) to be more aware of what's possible. It's addressed to both those new to Eclipse-based editors and also to those who've been using them already.
This is indeed a challenge for any resource trying to speak about CFB (whether a blog entry or the CFB docs). How much should be presumed? It's that challenge which leads, I think, to the state of things where some feel that their concerns are not addressed.
Lost cause for some?
Finally, when I first asked about whether someone had put together such an entry, I got some feedback (surprisingly staunch) that it seemed pointless to bother trying to "preach to the unconverted", and that if they didn't get it, it was their loss. As I wrote in reply:
I appreciate that sentiment, but I do believe there are some in that "hater" crowd who are just misinformed, and don't really appreciate all that it adds for them. More than a few (still!) accuse it of being just a rip off of CFEclipse. Of course, you and I (and many here) know that's a gross simplification--and not true, anyway.
But as long as they think that, or more important as long as they don't fully understand what it can do for them, they will continue to resist.
No doubt, there are some for whom no amount of persuasion will cause them to "get up off their wallet", as my wife would say. We can't do much for them, but I do want to "fight that good fight" for those who can be reached.
Tell people about Adam's entry whenever you can
So I hope that Adam's entry, and any others that may exist (and perhaps this one and my talk) will help with that.
But also I hope people will bookmark Adam's entry and point it out whenever you see people complain (on lists/forums/in twitter) about "why should I buy/have to pay for CFB"? I think the conversation is an important one to have.