Site relaunched. The power of MM!

Updated

This site was re-built over a weekend. Static site generators are the new black amongst Ruby developers at present, and from my experience with Middleman it’s easy to see why. In this article I’ll briefly discuss this site’s rebuild and the gains made from taking the static approach.

The basics

A static site is “is a web page that is delivered to the user exactly as stored, in contrast to dynamic web pages which are generated by a web application”.

The benefits

The idea has been around a while. In the Ruby community alone there are several good static site generator solutions. I went for Middleman for a number of reasons:

  • It was created to work for the general-case
  • There are a number of extensions, but most of the useful stuff is built-in
  • Support for Asset Pipeline style script management (Sass, CoffeeScript)
  • It’s just damn good design
  • Rack support if you really really need it

What you’ll gain with using an SSG are mostly performance boosts. Given the site only needs to be generated once per deploy, as opposed to every pageview, you’re able to deploy on much lighter-weight platforms and enjoy the reduced cost.

The tradeoff

Of course, the flipside of this scenario is there’s no longer an app-server sitting there ready to generate responses based on the context of the request. Though it’s becoming a trend to move more toward client-based apps that link to remote data-sources, rather than essentially running the app for everyone on a central server.

Most of the client-side technology required to making this de-centralized transition is supported by Middleman. Tools like CoffeeScript, Sass and Backbone.js are doing for client-side development what Ruby on Rails did for server-side development. The gap is closing and I wouldn’t be surprised if 2012 marks the year where we change our architectural preferences en masse toward client-based approaches. There are so many advantages.

This site

I really enjoyed re-writing this site in Middleman, familiarizing myself with the different available solutions and finding a git-based deployment strategy that worked for me.

I’ve published the source-code for the dojo7 website on Github.

blog comments powered by Disqus