Database-less, No-DB, static website generators

Alastair Aitken 12 August 2013 0

In the beginning Tim created the web. And the web was without form, and void of JavaScript, instant messenger, social media, cookies and targeted advertisements. It’s a wonder that the web got anywhere at all.

Those who mourn the passing of the age of innocence – before the web was debased by pornographers, paedophiles, terrorists, marketing, the NSA and the Daily Mail – will no doubt have noticed Mozilla withdrawing support for the blink tag in the latest version of Firefox. Brought up on truly abysmal web design courtesy of user-designed pages hosted by blast-from-the-pasts such as Geocities and Angelfire, the web’s early-adopters will no longer be able to gaze upon what probably is still the most irritating piece of markup yet devised. Back then no one thought to make use of the experience and traditions of page layout design when instead they could focus their readers’ attentions upon something merely by flashing it on and off repeatedly. I used it myself once or twice.

With the barometer of poor web design, Worst of the Web, now pretty much mothballed, it was looking as though the web had moved on to bigger, better and more complex things. But as Bob Roberts put it, the times are changin’ back. Well, they’re not really, but there are now definitely more options that just using a database-backed Content Management Systems (CMS). Never mind big CMS such as Joomla, Drupal or Magento, even WordPress is overblown for most run-of-the-mill corporate presence sites. Why stick a database into the mix when all that’s really required is sticking up a few static pages onto a web server?

Typically database-less frameworks fall into two categories:

  • database-less CMS – where content and presentation is stored as text files and processing occurs at request time, and
  • static website generators – where static pages are produced at some point after content is added and the static pages are served at request time.

Both types have become increasingly in vogue for geeks and the trend is now spreading into the mainstream. Often using Markdown as a shorthand for HTML, there are now any number of different frameworks written in pretty much every mainstream language. The list – and this is far from exhaustive – is getting pretty long: Kirby, Stacey, Statamic, Modern Static, Octopress, DocPad, Jekyll, Sculpin, PieCrust, Punch, Bonsai, nanoc, phrozn, Pico.

So why use a database-less framework? There are some very good reasons: there’s no database to maintain with all the overhead that can entail. There’s a speed benefit, as there’s no databases involved that can often act as a bottleneck in a typical CMS. There tends to be a shallow learning curve, which means sites can be put together rapidly, often with little need for full-blown developer services.

Which framework to choose might be driven by the type of host being used: a static page generator means that a site could be hosted on a simple file server type system, such as Dropbox or Amazon S3, whilst a database-less CMS requires something with a bit of processing power, possible using a Platform-as-a-Service, such as AppFog or Heroku, a Virtual Private Server, or a dedicated server.

Whichever path you choose though, just don’t use the blink tag.

Alastair Aitken (124 Posts)

As a contract developer and manager I’ve worked in a wide range of enterprises in a variety of countries where I’ve encountered everything from great work, awful work, bizarre work, all the way down to quasi-legal work. If you think that you recognise your own organisation within my articles then you’re undoubtedly wrong, where you work isn’t that unique.

Leave A Response »