|
Choosing Your FOSS Web-Building Tools |
|
|
|
Written by Christopher Bumgarner
|
|
Friday, 24 July 2009 |
In this segment of my do-it-yourself guide to building a website, I will be discussing which tools to use in building your site. I want to discuss this issue before I discuss choosing a host because some hosts may not be compatible with some web-building tools. I am going to discuss two kinds of software: the WYSIWYG web editor and the Content Management System.
There is much proprietary software that can build a website. People usually think of Adobe's Dreamweaver or Microsoft's Expressions Web (fka Frontpage). There are FOSS alternatives, such as Nvu, Komposer, Quanta Plus, Amaya, and more. These tools all fall under the category of WYSIWYG editors (what-you-see-is-what-you-get). Let me tell you something—all WYSIWYG web editors suck. They stink. They generate horrible markup, don't take advantage of CSS, and produce sites that are difficult to maintain. These so-called WYSIWYG tools will break every best-practices rule known to the web—so I strongly advise against them them.
It's easy for me to tell when a website has been poorly built with a WYSIWYG editor. These sites typically use nested HTML tables to control layout (which slows down your site and makes it less accessible). They also generate markup that is complete nonsense and often cryptic, further adding to the problem of maintainability. And because of the sloppy, non-standard mark-up, WYSIWYG editors rarely generate code that is cross-browser compatible. The code these tools generate is also not as search-engine friendly as it should be.
Many hosting companies have their own proprietary web-based web builders that user can use to create their sites. Do me a huge favor and do not use these tools. They are usually worse than WYSIWYG editors. A popular trend in these builders is the use of drag-and-drop: just pick an element and drag it onto your site and it sticks. The systems I have seen use this technique may be easy to use, but they build horrible sites in my opinion. They make heavy use of Flash, which will slow down your site. I saw one site that was built with almost every element a Flash element, including a contact form, a button, even a plain photograph! That's just too much Flash--the site took forever to fully load. My recommendation is to avoid Flash at all costs (this will be the topic of a future post).
What can you use if not a WYSIWYG editor? Use a Web-Based Content Management System, or Web CMS. Web CMSs are wonderful tools. CMSs are installed on the web server and once they are set up, allow users to make changes to the site with little or no training and little coding (if any) is required. And of course, many of them are free and open source.
My favorite CMS is called Drupal. Drupal is very popular and powerful. It has an active and vibrant community available to help you learn how to use it. There are also many modules that you can add that will give you extra functionality. One great thing about Drupal is that you can use it to manage more than one website at a time. You can easily build a static web site and a blog as well. You can even manage multiple sites with different URLs, all from a single install base.
Another popular CMS is Joomla. I have used both Drupal and Joomla to build sites, and I think that Drupal is better, although Joomla is easier to learn. Joomla also has multiple extensions and a vibrant community.
Both Drupal and Joomla are very large and feature rich. But not all CMSs are built that way. Some CMSs, such as WordPress, are specifically designed for building blogs. WordPress is especially popular, but it is not quite as flexible and powerful as Drupal and Joomla.
One aspect common to most CMSs is that they are themeable. A theme is basically a templating engine that controls the look of your site. Each CMS has its own default theme, and the install-base usually comes with a few more to choose from. Installing additional themes is easy, but finding one that suits your needs requires a bit of research. Some Frameworks like Drupal and WordPress have dozens of free themes on their home sites. Many also have non-free templates available in case you don't want your site to look similar to someone else's site. The bigger CMS frameworks even have professional services available that can customize a theme just for you. If you don't feel like spending money, you can always develop your own theme. But be warned, building your own theme is a lot of work and has a steep learning curve. The best thing about using pre-built themes is that they usually have good, clean markup and have already been tested with all of the popular browsers. This is a huge advantage. Believe me, testing a site on multiple browsers is a major pain, using a pre-built template will save you a major headache.
If you want to try out several CMS frameworks without the trouble of installing each of them, check out php.opensourcecms.com. This site lets you try numerous CMSs for free. The site also has each CMS rated by users, and a review of each one. It's quite a handy resource. Furthermore, there are several books written about some of the major players in the CMS sphere. They can be found at your favorite on-line bookseller or even at your local library.
Conclusion
- Avoid WYSIWYG editors
- Use a Content Management System Instead
|
|
Last Updated ( Friday, 24 July 2009 )
|