I know that this statement by Ben Forta in support of Dreamweaver is a bit old, but you would think that Dreamweaver would only have improved since then. It hasn't.
Dreamweaver Sucks, Pure and Simple
Adobe Dreamweaver has some nice features, yes—chief among them being support for autocompletion of ColdFusion code, and pretty good syntax highlighting. Of course it has word wrap (cough—Eclipse), as one would expect it to, and it has a somewhat interesting RDS interface to your ColdFusion server, so that you can browse data sources and components, including SOAP web services.
It's not so much the feature set, you see, that has me not so eager to use Dreamweaver. It's the user experience. Call me a weirdo, but user experience is important to me. Dreamweaver is sluggish, sometimes unresponsive, and it is bloated. It's a WYSIWYG HTML editor that's trying to be an IDE, and, while it has nice IDE-like features, it just doesn't cut the mustard for serious CF application development.
But what are the alternatives? Here are the ones I know of:
- CFEclipse: Not too shabby, but nevertheless out of the question because of the Eclipse Team's recalcitrant refusal to support word wrapping. Also suffers somewhat from bloat like Dreamweaver.
- jEdit: No autocompletion. Written with Java and Swing, so it's not exactly the most resource-friendly app.
- Vim: A killer text editor, but it has no autocompletion. (And it's not really an IDE.) Syntax highlighting for ColdFusion is not differentiated from HTML highlighting, which is obviously important.
- CF Studio: Once the preferred ColdFusion IDE, now supplanted by Dreamweaver (and perhaps CFEclipse), its development ceased years ago.
- PrimalScript: No word wrap, and it costs something like $140 for a license.
- TextMate: Has autocompletion—sort of, but it exists solely on the Mac.
- Intype or e: Not really available yet, and they're not really IDEs either, but when they become available, they will have on Windows much of the functionality of TextMate on the Mac.
So, even though I hate Dreamweaver, it's the best ColdFusion IDE available today. But that's not good enough.
The Solution
We need a new IDE, and that's all there is to it. ASP.NET developers get to use Visual Web Developer and Visual Studio, J2EE developers have Eclipse and NetBeans and IntelliJ IDEA. We need an IDE for ColdFusion like those, and we should accept nothing less.
Proposed Features
A ColdFusion IDE should have or do the following:
- Word wrap (I hate to have to state this, but Eclipse doesn't have this. It's like demanding that a toilet have water in it, or that a CD player support stereo sound.)
- Auto-completion like Visual Studio (IntelliSense), NetBeans and Eclipse
- Support highlighting and auto-completion for CFML, (X)HTML, XML, Javascript (including JSON), CSS and SQL
- Component and web service introspection
- Datasource browsing
- Templates (perhaps using the excellent Apache Velocity templating engine) and snippets
- Parsing of included files, components, custom tags and web service interfaces so that auto-completion works with them as well
- Be framework-friendly, but framework-agnostic
- Have a responsive interface (unlike Dreamweaver)
- A scripting interface for automation
- Intelligent, automated deployment
- Support for Subversion or the RCS of your choice
- Wake me up in the morning to the gentle strains of a Schubert piano trio
(I'm kidding about that last one.) I could probably think of more features that I'd like if I had the time right now. I admit that the more features it has, the less likely it will not be bloated and sluggish like Dreamweaver. Perhaps two editions could be made, an Express version and a Professional version, or something.
I'd make an IDE if I had the time. Is anyone else interested in this?