Wednesday, 21 March 2012

by Silumesii Maboshe

A usual follow-up to “How do you build a website?” is the question, “What Content Management System do you use?”.

I get asked these a lot. I’ve answered several times and probably give a different answer each time. Building a website isn’t one thing. It takes different skills to design, develop, write, test, optimise, analyse and maintain one.

A Content Management System (CMS), like WordPress, Django or ExpressionEngine is a tool used to create a website. Emphasis on the word tool. Whenever you use a tool recognise that it will, inherently, have a bias—most pairs of scissors are designed for right-handed people, a radio is biased towards people who can hear. CMSs are no different.

What is important about a website is that at the end of the day, it will run off some kind of web server that serves HTML pages viewable in a browser. If you are starting out in web development, learning HTML is the best place you can start.

With HTML as a starting point, you will be able to understand why CSS and Javascript come in to the picture. You’ll get a better understanding of the necessity of HTTP and the web server. At this point scripting languages like PHP, Python and Ruby come in to play and the value of a database comes to light. This is the ecosystem that a CMS must live in.

While learning HTML first may seem like the scenic route to approaching website development, you’ll be better for it in the long-term.