News and Views
Tuesday, November 02, 2004 10:03:42 AM
What makes a good web development tool? Personally, I feel that there are several aspects to it:
- Design. Does the tool help you with a design by providing a design view of your page? Is that design view editable? Is it WYSIWYG?
- Code. Does the tool offer full code editing control?
- Debugging. Does the tool assist in debugging in any way?
- Automation. Are features automated to provide quick generation of code or design?
Programmer tools like Visual Basic, Delphi, and other desktop development environments provide all of the above. Web development tools have typically not provided these. Dreamweaver includes some of these features, but not all. What is the best web development tool out there then? Well, to be honest there hasn't been a web dev environment yet that is up to par with the kinds of technologies we use. Part of the reason is that technology moves so fast and browsers become out of date quickly. That should not be the case moving forward, however, as standards that are many years old are now becoming integral in the most recent browsers. For example, look at a web page designed in 1998 compared to one designed today. The look of the page is entirely different, as is the underlying code.
Dreamweaver has become more WYSIWYG in the most recent incarnation (Dreamweaver MX 2004), but it is still not what you would call a WYSIWYG editor. Macromedia had one WYSIWYG editor in its arsenal several years ago: Drumbeat 2000. Drumbeat offered pixel-perfect design, like a desktop publishing program, but did not offer any access to code view. For that reason, it failed. The next incarnation of tools was UltraDev, which was a horrible program. It did not offer much for a newbie, and was unreliable. . .unless you count the reliable corruption of your code. Dreamweaver MX was a great improvement, and MX 2004 is now even better.
There is still the question: How much should the program do for you? Should it always promote good coding standards? In Dreamweaver MX 2004, the generation of <font> tags was removed, and in its place, generation of inline CSS. This is not optimal, nor is it good coding by any stretch of the imagination. However, what is the alternative? A newbie needs to have a way to change the font on a word or a paragraph easily without having to spend years learning HTML and CSS.
I feel that a program like Dreamweaver should be good for newbies and experienced coders. It should allow the experienced coder the ability to create his own styles, tables, divs, and other elements without interfering. But it should also allow newbies the ability to drag a mouse across a page and create designs like a desktop publishing app, and provide reasonably good HTML in the process. Auto-generation of code will never be perfect, unfortunately. Most of the code will be bloated (like the code produced by Drumbeat 2000) but the alternative for most newbies is to stare at a blank page in dispair, or create something in MS Word and "save as html". I'd rather have someone like Macromedia create an auto-generation algorithm that works.
Auto-generated code is much more critical in server-side code than in HTML. A bad HTML page might load a little slow. A bad piece of server-side code can take down a server. While I'd love to see Dreamweaver prevent people from misusing server-side code, like issue a warning when they use "SELECT * FROM MyTable" in a recordset declaration ("Are you sure you want to retrieve 20 fields of data when all you need is one???"), the bottom line is that I'd rather have the ability to do whatever I want with the program and allow me to make the final decision. Much like having too much government regulating what I can and can't do, a development IDE should not decide that something is "too dangerous for newbies" and not include the feature. The program should provide the tools and allow you to use them as you see fit. Macromedia made a huge mistake when they removed Timelines from the program in MX 2004 because it was a bloated, infrequently used feature only to find that they ticked off people who actually use the feature. They had to put it back in.
When it boils down to it, a page that is bloated from 25K to 50K because of inline styles and other bad HTML code is not pretty to look at for the HTML purist, but does it really matter that much to the vast majority of web site visitors? Does the average user who goes to a web site look at the source code and count the font tags or despair at the use of inline CSS with names like "layer1" and "layer2"?
The bottom line is that the tool should help you get your site online. Period. Web developers have a really bad habit of viewing the source code and calling a site crap if it does not conform to web standards or if it does not meet their high standards. The only real concern should be what is seen in the browser for the particular audience that the web developer is after. When you read a book you don't pull the binding apart and check the chemicals used in the glue, or hold the page up to the light to look for imperfections in the paper. A web site, like a book, is primarily online to deliver content to the end user. Web content can be constructed by Dreamweaver, Golive, Front Page, MS Word, or even Notepad.
On the web, what you see is what you get. I'd like to see the web tools move in that direction as well. With CSS positioning, a web page can be constructed like a desktop publishing page. Divisions can be placed in pixel perfect locations. A computer program like Dreamweaver can aid in that by providing the calculations, functions, and underlying code necessary to make it happen.
Before posting comments or trackbacks, please read the posting policy.