Editor's note: This article was originally published in March 2016, and has been updated to reflect changes in several of the originally recommended tools.
Not all that many years ago, pretty much every webpage on the Internet was, at some level, designed painstakingly by hand. It was tough, and before CSS really took hold and became well supported across most common browsers, it often involved hacking a layout together by using HTML tables in a way they were never really envisioned to support.
While some designers developed workflows completely based around manual editing of raw HTML files, the WYSIWYG (what you see is what you get) editor began to emerge as a tool of empowerment to millions of amateur and professional designers who didn't know, or at least hadn't mastered, the art of hypertext markup.
Products like CoffeeCup, HotDog, FrontPage, GoLive, and many others filled the market, and many web-based WYSIWYG editors emerged as well. Among the more successful was Macromedia (later Adobe) Dreamweaver, which was among my personal favorites for many years.
These web authoring tools weren't just about WYSIWYG editing; even for those who were comfortable with direct authoring of markup language, these tools offered advantages with template control, file management, and simply reducing the time it takes to create functional code.
But just as these helpful editors were expanding access to webpage creation, something else was happening too. Content management systems like Drupal and WordPress (and many, many others before them) displaced the need for the average content producer to need to edit raw HTML at all. You could easily make a functional website without even worrying about the underlying markup.
So did the rise of the content management system change the web? Absolutely. Did it eliminate the need to hand code HTML? Well, for some people, yes. But as the web moved from a collection of content to a platform for applications, just as many new opportunities have arisen for doing markup. Every software as a service application, every social media network, and even many mobile applications rely on HTML and CSS to render their display. And those content management systems? They still need templates to function.
And though many helpful libraries exist to standardize and simplify the web development process, coding for the web isn't being displaced any time soon. Proprietary tools are still common, but there is a rich collection of open source alternatives out there. Here are some you should consider.
1. BlueGriffon
BlueGriffon is an open source WYSIWYG editor powered by Gecko, the rendering engine developed for Mozilla Firefox. One of a few derivatives of NVU, a now-discontinued HTML editor, BlueGriffon is the only actively developed NVU derivative that supports HTML5 as well as modern components of CSS. If your goal is to write as little actual HTML as possible, then BlueGriffon is the tool you want. It's a true drag-and-drop WYSIWYG website designer, and even includes a dual view option so you can see the code behind your design, in case you want to edit it or just learn from it.
It also supports the EPUB ebook format, so you don't have to just publish to the web: you can provide your readers with a download of your content that they can take with them. Licensed under the MPL, GPL, and LGPL, a version of BlueGriffon is available for Linux, Windows, and Mac.
2. Aptana Studio
Aptana Studio is an "open source development tool for the open web" which, in practice, means it's more of an advanced IDE specializing in web development. Based on the open source Eclipse project, Aptana Studio features tools for assisting in HTML and CSS authoring, including code coloring and completion, debugging, and outlining of documents. Its main selling point is its JavaScript support, making it a strong tool for developing more complex web applications.
3. NetBeans
NetBeans is a widely used software development platform for building web, mobile, and desktop applications with Java, JavaScript, HTML5, and more. It has been supported by Oracle (and its predecessor, Sun) since 1999, and in October 2016 moved to the Apache Foundation for open governance, and simplified and streamlined community contributions. Netbeans isn't exactly a drag-and-drop web design application, but it's a robust web-aware IDE. It's a great choice if you're developing web apps, or if you just enjoy coding for the web.
4. SeaMonkey
SeaMonkey is a community continuation of what was once a Mozilla-produced internet application suite. While Mozilla decided to narrow its focus to individual projects, SeaMonkey continues to make regular releases of its full suite, which includes SeaMonkey Composer, a simple WYSIWYG HTML editor. You'd struggle to do advanced layouts with Composer (for instance, you can't adjust the CSS display or property to create a two column text and image pair, but would have to use a non-responsive table instead), but for basic pages with zero code written, this is a realistic option.
5. Aloha Editor
Aloha Editor is a JavaScript-based WYSIWYG HTML5 editor that allows users to edit content in the same layout that readers view it. This is a pretty unique model, as it's not exactly an application itself, but embeds an editor into your HTML page. It requires a Node.js stack, so if you're not a developer familiar with Javascript then it can be difficult to configure. However, if you're a site admin looking for an easy editing interface for your users to make quick updates to their pages, then you should say "aloha" to Aloha.
6. Wordpress
The open source content management service (CMS) and blogging platform, Wordpress, features a structured yet flexible page layout interface. It lets you create blog posts and pages with just enough flexibility to let your creativity thrive, and with just enough restriction to ensure that your creation renders correctly in all browsers. With Wordpress, you can have choose your desired level of complexity at every step. You can self-host it using their famous 5-minute install method, or you can buy hosting from Wordpress.com. You can use the drag-and-drop designer to create pages, or you can hack on HTML and PHP yourself. You can choose a contributed theme or you can design and create your own. It's a great resource for anyone who wants to run a website.
7. Try an advanced text editor
While not necessarily the best for beginners, a number of text editors provide additional functionality that is incredibly useful to those editing HTML/CSS documents. When used side-by-side with a modern browser with built-in debugging tools, you may be just as productive with one of these as you are with a more dedicated solution. Some of our favorites include:
- Atom describes itself as a "hackable text editor for the 21st century." Developed by GitHub, it has support for HTML and CSS out of the box and many additional plugins available.
- Brackets is a JavaScript-based text editor developed by Adobe for web design and frontend development. It touts its inline editor, live preview, and preprocessor support functions for making it easier to do web design in the browser.
- Vim or Emacs. Without participating in the holy war between these two traditional text editors, I can safely say that there are a number of enhancements for web editing available for both. So if you're already a terminal junkie, take your pick. Or, if those don't satisfy, try one of these Emacs/Vim alternatives.
Are any of these solutions a feature-by-feature reproduction of Dreamweaver or another proprietary tool? Of course not. They weren't designed to be. They each have had their own roadmap and goals, and their own strengths and weaknesses. Web design is a big world with lots of applications and lots of approaches. Take the time to find the workflow that meets your needs. Try out a new tool, see what you like and don't like about it, and share your feedback with the broader community in the comments.
Are you interested in reading more articles like this? Sign up for our weekly email newsletter.
51 Comments