Occasionally, I answer a question and I think, hmmm… maybe I should turn that into a blog post…
In response to a question on the best web authoring tool for someone just getting started — under consideration – a content management system (CMS) such as drupal as well as creating individual webpages.
To CMS or not?
I think it depends on several factors: access authority to the website server and whether the server meets the minimum requirements of a particular CMS (very important), as well as the purpose of the website, the size of the website, and a consideration for the content and number of contributors/authors to a website.
The advantage to using any CMS is that it is relatively easy to generate content for the general user, there are often built in extensions/modules to provide dynamic content, and these usually work well for larger sites (but can be used by small sites, too.) Installation, configuration and design can be sticky points, depending on the installer’s experience, access to site server, etc.
Individual pages + templates
For a small mostly static site with limited access to a server or run by a small number of web editors, writing or generating code + CSS is probably the easiest. Dreamweaver is certainly popular in terms of generating webpages and CSS. Templates can be created to minimize maintenance work.
Dreamweaver can also work with php, asp, etc. to incorporate in dynamic content (such as RSS feeds, etc.). Dreamweaver has the option of a graphical, code, or a combination of both interface, which is nice for those who are just learning code. I know quite a few happy Dreamweaver users. I haven’t used the latest version of Dreamweaver, but I have found previous versions a little clunky when editing an existing page that was not created by Dreamweaver, especially when importing CSS (I confess, I don’t use Dreamweaver on a regular basis).
As for free (or opensource) webpage generators, I would check out Nvu (which is based on Mozilla Composer code base). It looks very interesting. I used Netscape Composer eons ago. It was easy to use, but I’m not sure how the code quality and coding capability have held up over time.
Amaya is also an opensource web editor which can generate xml. Another project which looks interesting.
In short, web design is about developing and implementing a plan using appropriate tools (software, databases, coding/scripting, etc.) and resources to create a web site meeting the content, design, and user needs for a particular person or group while providing the greatest ease of maintenance.
There are many different kinds of tools out there to create code for websites; it’s just determining the best fit (and hopefully adherence to code standards, too!). I do think that all web designers should have a fundamental knowledge of basic html and CSS, so that they can at least control the layout and design of their websites (i.e., keep them from looking so ‘out of the box’ and perhaps, correct problems, if/when they arise).