Flex News Desk
I Don't Hate Dreamweaver
It might be time for a second look
By: Ben Forta
Jan. 13, 2004 12:00 AM
Uttering the dreaded "D" word in front of a room of hard-core ColdFusion developers is a brave act indeed. Hating Dreamweaver and berating its deficiencies has become a popular pastime among ColdFusion purists, so what I'm about to say may get me in all sorts of trouble. But, here goes... I don't hate Dreamweaver. Actually, and now I'm really asking for it... <nervously> I even kind of like Dreamweaver. Really.
Ben and Dreamweaver: A Brief History
Now I know that some of you are going to assume that, as a Macromedia spokesperson, I have to like and use Dreamweaver. And you'd be wrong. It wasn't that long ago that I was one of Dreamweaver's most vocal critics, both internally and publicly. When Allaire and Macromedia merged, the then Dreamweaver product manager asked me for a quote stating that Dreamweaver is the best tool for ColdFusion developers. I refused. I was not going to say that because, frankly, it wasn't. It wasn't a product I wanted to use, and I don't ever recommend anything that I myself would not use. It's as simple as that.
And then came Dreamweaver MX, and things changed. My biggest objections to earlier versions of Dreamweaver, including all those popup panels, toolbars, and menus that seemed to make little sense, and auto-generation of some of the worst CFML code I have ever seen, had been addressed. The UI was cleaner, I found that I had far greater control over what toolbars and menus and panels were staring at me, and the generated CFML code is actually quite good (the Dreamweaver team even invited me to critique the code generated previously and made lots of changes based on my recommendations).
Not that Dreamweaver MX was perfect; it was not, but suddenly I found myself hating it a whole lot less. Of course, there were still things that bugged me about it. Application load time was appalling, having to define sites for everything was a pain, and the SQL query builder was less than useful.
And then came Dreamweaver MX 2004, and once again things improved. The load time, while still not as snappy as I'd like, is much better, and sites are no longer needed. (The SQL query builder, unfortunately, is still useful only to absolute beginners.) And something funny happened: I actually found myself using Dreamweaver more and more, to the point that I barely use ColdFusion Studio (oops, I mean HomeSite+) anymore. I really have gotten used to Dreamweaver, and have even started to like it!
So, is Dreamweaver MX 2004 the best tool for ColdFusion developers, and if I was asked to say so now would I be able to do so? I think I'd have to answer that with a qualified "possibly." It is probably not the best tool for all ColdFusion developers, but for many it is. Is Dreamweaver MX 2004 a replacement for ColdFusion Studio? Absolutely not (and I know that some Macromedia sales reps spin Dreamweaver that way, and they're wrong). If it was, we'd not include HomeSite+ with every copy of Dreamweaver bought, would we? The reason we provide both products is that there is value in both, and as a ColdFusion developer you get to pick which works best for you, using one or both as suits you best. (Yes, if you are a Windows Dreamweaver user, then you already have a copy of HomeSite+ that you may use too; it's included with Dreamweaver but needs to be installed separately.)
So, Dreamweaver has gotten better, but it is not a ColdFusion Studio replacement. Why use it? Why have I started to like it? Simply because there are Dreamweaver features that I really do like, features that I have come to rely on heavily, features that are uniquely Dreamweaver, features like the ones I'll now describe.
Cool Feature #1: CFC Introspection
But Databases is not the tab I'm most interested in. The fun one is the fourth one, the one labeled Components. This tab exposes all available ColdFusion Components in a nice tree control (as seen in Figure 1). The list is built dynamically, returned to Dreamweaver by ColdFusion, and features the following:
Cool Feature #2: SOAP Support
ColdFusion makes Web service invocation easy, and Dreamweaver makes ColdFusion Web service invocation even easier. That same Application panel Components tab lets you switch between ColdFusion Components and Web services. If you select the latter, Dreamweaver displays a list of known Web services in a tree control (seen in Figure 2), allowing you to browse methods, look at parameters, and even auto-generate CFML invocation code by simply dragging methods into your code.
How do you add a Web service to the list? Simply click the + button and you'll be prompted for the WSDL URL (as seen in Figure 3). Enter the URL, and Dreamweaver will obtain it, parse it, and add it to the menu for you. It's that simple.
Cool Feature #3: the CFC Wizard
Creating CFCs requires working with a series of nested tags to define the component, the methods, any method arguments, and the details of each. This is not a terribly difficult process, and it is one that can definitely be done by hand. But why would you want to?
Dreamweaver features a Create Component wizard that can build the entire skeleton CFC for you. Click the + button at the top of the Components tab (make sure that ColdFusion Components is selected, not Web services) to display the wizard (shown in Figure 4). Then:
Cool Feature #4: Debug Output
If pages are executed in Dreamweaver (by clicking the Server Debug button), then Dreamweaver grabs that output and displays it in its own tab in the Results panel (as seen in Figure 5). Debug data is cleanly presented in a tree control and the interface is even interactive. Click on a debug entry and the appropriate <CFQUERY> will be located and highlighted in the editor; click on any included file listed in the Template Stack and that file will be opened, and so on.
The data displayed in the Server Debug tag is the same information as is usually displayed at the bottom of generated pages, but the output and interaction is much cleaner, it takes far less space, and does not interfere with generated output at all.
If you're a ColdFusion Studio (or HomeSite+) user, don't throw away that tool yet; you'll likely still want to use it. But at the same time, you may want to take another look at Dreamweaver; not only is it now a decent editor, it also boasts features that may actually make you more productive. The best of both worlds, that's a good thing.
Reader Feedback: Page 1 of 1