Over the past few years, most of the development projects we've worked on have been built on some sort of content management system. When a project comes across our desks, one of the first things we do is take a look at the goals, strategy, and requirements, and begin a discussion of what kind of tools we need to use to best get the job done. Having often used Drupal and Wordpress in the past, this has typically been a discussion of what type of CMS is best suited for the project. But on a recent project, we found ourselves questioning whether we needed a CMS at all.
The project involved presenting research and interviews that took place in the course of producing an academic book. There was a fixed amount of content, and the site wouldn't be edited or updated after it was launched. The site also needed to be responsive, adapting its layout and functionality to mobile and desktop displays.
While many modules and plugins were available and would make a CMS an easy way to quickly get the content up and available, I found myself, for the first time 8 years, considering building an HTML site without a CMS. It turned out building the features ourselves with a little javascript magic wasn't as time consuming as we thought and starting with a blank slate even gave us room to breathe and be creative. And perhaps most important to this project, not having our content stored in a database and meant not having to worry about security updates or what will happen when there's a new version of PHP. This made using a CMS more sustainable, not requiring upgrades and maintenence in the future.
But just because we're building a HTML site, it doesn't mean we're simply starting from scratch. Instead of starting with a CMS, we're starting with a framework. We're going to be using the HTML5 Boilerplate framework for this project, but there are many others out there worth checking out: Foundation, Bootstrap, Less, and Skeleton just to name a few. Whether your site is database driven or not, these frameworks provide an excellent starting point for front-end development and will get you on your way with some HTML5, CSS3, and Javascript best practices in tow.
Here's to thinking outside the CMS.