Well that is a wide field indeed. Some are quite pleased with using a text editor like Vim, Emacs, Sublime or Atom.
Then there are programs like Pinegrow. I like that one as it works with plain normal html, css and javascipt and previews the results as you go.