Way back in 2008 we spent several months surveying the CMS landscape. We wanted to find a well engineered system which could give us the flexibility we were looking for as developers whilst providing our clients with a great authoring experience.
We kicked the tires of WordPress, Joomla and Drupal but ultimately settled on the slightly less well known ExpressionEngine (EE).
Over the years that followed it served us well. It wasn’t perfect but it was head and shoulders above its competitors in terms of content flexibility and feature extensibility. Moveover, it was built with designers as well as developers in mind, so behaviour and presentation were completely separated.
Where features were missing from the core product, well engineered and well supported third-party add-ons were available. We even created our own to meet the preview and workflow needs of our clients.
But the CMS landscape is constantly shifting and a few years ago a new player emerged on the scene, Craft.
Ironically, it was while attending an EE conference in the US back in 2012 that we first became aware of Craft. The team behind it, Pixel & Tonic, were well known for developing all the must-have add-ons for EE so had the perfect pedigree to build their own CMS.
They knew where the pain points were and everything built into Craft was designed to address a specific problem. They started with a blank sheet and imagined a better world, Craft was green field development at its best and, as developers, working with it was like a breath of fresh air.
Reason 1: It’s new
There is often a reluctance to opt for something new. The ‘no one ever got fired for buying IBM’ school of procurement often means smaller companies and newer products have a hard time getting a foot in the door. But in the case of Craft its newness should not be feared, it is one of its best features.
For too long CMSs have been rigid, bulky and weighed down by legacy code. They were hulking beasts built on the ashes of blogging platforms or stuck in antiquated paradigms for no better reason than that's the way they had always done things.
Craft contains no legacy code so is lightweight. It is built on top of the excellent Yii PHP platform - a standards compliant framework. This means that all the code in Craft adheres to Yii’s well documented coding standards.
Craft uses the best-of-breed Twig template engine for its templating. No need to write a plugin for every bit of logic or resort to inline php.
Reason 2: It’s flexible (like, really flexible)
All the big CMSs say they’re flexible (and most are to a degree) but Craft has taken this to another level. Craft puts almost no restrictions on your content.
Any element can be extended; you can add custom fields to entries, categories, users and, if you’re using Craft Commerce, products. You can create a library of custom fields and combine these in any order to make the field groups you need.
Then there’s the Matrix (no, not that one).
Matrix first existed as a hugely popular EE add-on, so I’m sure was an early ‘must-have’ post-it note on the wall when P&T started scoping Craft.
Matrix is the third (or possible fourth) dimension in content curation. It allows you to define any number of ‘blocks’, each block is itself a group of fields. When adding content to an entry the author can add any number of any block in any order, giving them unparalleled flexibility to create long form editorial pages.
Reason 3: It makes you a better developer
Working with Craft’s architecture and standards compliant code is a joy. It has raised the bar in terms of a CMS and a ‘grown-up’ piece of software.
As developers we want to ensure that anything we create to work within Craft is built to the same incredibly high standards. And better code means more solid, reliable and maintainable products.
In terms of speed it's hard to compete with an off-the-shelf WordPress theme, but if you’re in the business of developing complex, bespoke features then Craft is hard to beat.
P&T have really thought about making Craft extensible with their powerful plugin framework. Using this you can create well structured and self contained mini-applications. Controller methods can be accessed from either the frontend or the control panel, all the business logic is placed in Services and you can define a Variables class giving you an incredible easy way of interacting with your code from within a Twig template.
Reason 4: It’s growing (and growing)
You know that feeling when you discover something that’s just so good you want to tell the world? Well Craft is like that.
And the secret is getting out. If you Google the title of this post you’ll see we’re not the first agency to spot Craft’s potential.
It has its own StackExchange site, nearly 5,000 developers on a vibrant Slack channel and MeetUp groups springing up all over the world. And, just before we published this post, they announced their first dedicated developer conference, Dot All.
The word ‘future proof’ means different things to different people (and will be the subject of another blog post soon) but Craft really does feel like the right horse to put your money on.
If you haven’t heard of Craft yet you soon will, our feeling is it’s going to be around for a long time.
If you're looking for some help with your existing website or planning a new one we'd love to hear from you. Please get in touch to find out how we can help.