tags:

views:

244

answers:

9

It appears to me, from searching stackoverflow, that hand coding html/css is superior to using WYSIWYG editors. I'm a few weeks into learning html and css, and I've only hand-coded so far (though I do have the Adobe Suite).

My questions: is it ever worth learning how to use a WYSIWYG editor (like dreamweaver)? And, more importantly, when would it be better to use it over handcoding?

A: 

When you want to immediately see what you get :-)

compie
Yea, except for when you look in your browser it ends up not looking like you'd expect
Earlz
+3  A: 

I used to use WYSIWYG Editors (namely Dreamweaver) for a long time, and I'm not in the least bit ashamed of it. They are perfectly fine tools for many situations. What got me to switch over to almost completely hand-coding my markup, though, was

  1. the use of CMSs whose various templating systems make working with a WYSIWYG effectively useless; and

  2. the need of having full control over every aspect of the markup - for optimization, dealing with cross-browser quirks, usability and such.

I recommend using a WYSIWYG editor when it makes sense: There are many situations of tedious filling in of content into HTML pages (especially in the absence of a CMS) when a WYSIWYG editor can make work easy. If the HTML it produces is okay (take a close look!) using such an editor is totally okay IMO.

When you're building templates for a web site or web application, I recommend sticking with hand-coding.

Pekka
Good points. Although someone who doesn't hand-code can't effectively judge the code output of a WYSIWYG editor.
MatW
I used to work with a CMS using FCKEditor and saw a lot of frustration from users who did not understand why it did not work the same as Word (often because in a nested tag situation it applied formatting in a way that made some sense at the tag level but seemed counter intuitive to the tag unaware users). Are the desktop WYSIWYGS better in that respect or at some stage do they all degenerate into a bit of a mess of tags that need to be fixed up manually?
Martin Smith
@Martin I've seen a lot of frustration from web-based WYSIWYG editors with users, too. Although CKEditor (FCKEditor's successor) seems to be more stable and reliable, the basic problems you describe persist, as they are inherent in thr browsers' rendering and editing engines. Even though basically, Word and other desktop programs work the same way (The Word format is tag-based as well), they seem to be doing a better job - maybe because they already come with a decade or two of experience, blood, sweat, and tears.
Pekka
True - I guess the web ones are still relatively new compared to their desktop counterparts and will get better with time.
Martin Smith
@Martin I sure ***-ing hope so :)
Pekka
A: 

Well, first you ought to learn hard coding - without ever touching a WYSIWYG editor. I use Dreamweaver just for syntax highlighting and auto completion - not for using the WYSIWYG editor.

When you really now how to write html / css by hand you could try using the WYSIWYG - but I'm sure you won't really like using it any more...

dhh
+1  A: 

It depends on what you are trying to achieve using the website you are creating. If you are creating only a personal website with a few pages which you might not change that often then a WYSIWYG editor serves its purpose , for anything larger , constantly updated website you are better of using hand coding CMSs or using an off the shelf option.

There is the other issue of being able to use the latest technology , WYSIWYG editors may or may not have the latest web features depending on the monetary strength of the development company.

Ravi Vyas
+1  A: 

When you're writing a list of things that will end up with code likeso :

 <ul>
   <li>Item 1</li>
   <li>Item 2</li>
   <li>Item 3</li>
   <li>Item 4</li>
   <li>Item 5</li>
   <li>Item 6</li>
   <li>Item 7</li>
 </ul>

It can be less tedious to just establish that you're writing a list and just type the contents.

Atømix
+1  A: 

I don't generally trust the WYSIWIG view of any editor. I just open the page in a browser; that's your truest test of how a page looks.

tahdhaze09
+9  A: 

In short, unless you're just messing about, I don't think it is ever worth learning a WYSIWYG program instead of learning how to hand-code, but by all means use one to help you learn how to do the other.

The point of a WYSIWYG editor is to hide as much of the code away as possible. Sometimes this is a good thing (repetitive, boring tasks), but sometimes not (learning, debugging, code elegance and efficiency).

If you want to knock together a simple website, probably won't make websites that often, and don't need or want to know about the underlying code, then WYSIWYG is perfect. It's also good if you are new to web development in general, and are still getting to grips with the general concepts of programming, nevermind trying to understand HTML and CSS themselves.

However, if your intentions aren't so casual, and (new to web development or not) you are prepared to spend some time looking through documents and learning from tutorials, then avoid WYSIWYG as much as possible. Hand-coding has a steeper learning curve and requires more patience, but it's worth it; your final code will be more efficient and cleaner, and because you'll know it inside and out, you can debug it more easily too.

All that said, having a good IDE to code in can make all the difference, even if all it does is syntax highlighting and auto completion. Dreamweaver isn't great, but I'd take it over Wordpad any day! Notepad++ is a great, minimalist program to write websites with, and a very good starting point. Personally I use Netbeans, but you may find it a bit OTT for HTML and CSS.

MatW
A: 

No, because there is no such thing as what you see is what you get on the web. If you don't care what you get, anything that helps you spend less effort will do. Learning is then not prefered, so use something you know already.

Stephan Eggermont
A: 

Well, what you want in the end is to use a script to be honest to automate some common tasks. You hand-code that script, but you just fill in some paramatres to produce your XHMTL page.

Point with WYSIWYG editors is that they do what they say, they focus on layout, what you see is indeed what you get. If the Web was intended for layout we'd use PDF's, vector formats or just images.

The Web is about the structure of your page. Try searching for some pointers on 'semantic web' and 'separation of presentation and structure', you'll see that you've actually use a blockquote when you tried to simply indent for instance.

HTML is not a language to design layouts and never was intended as that, if you want that just use PDF, HTML was designed to express the structure of a document portably, as in, its layout should be easily changed while retaining the same logical structure. This is called 'separation of presentation and structure'. Ideally you should be able to completely re-work the layout just by using a different CSS sheet.

As for the tediousness, well, you can use a script for that as I said before. I mean, as that list example before, what I just do is:

(li demonstration
(I am an item.)
(I am another one.)
(I am an item that \(includes parentheses\) you see))

Which might be rendered as:

<li class="demonstration"><li>I am an item</li> ....</li>

Well, in fact, what would be ideal is a WYSIWYG editor that only makes structure, a visual editor that isn't that much concerned with layout at first and lets you define stylesheets later, either manually or per mouse, not sure if that exists, anyone know any? I'd be tempted to make one to simplify my own work and promote good practises if none exists.

Lajla