Let’s face it: most Drupal developers consider that using base themes is a common practice. And we can’t argue with that, although some people consider that it is better to design your own theme from scratch. Of course you can do that, but you encounter the risk of missing out on a lot of useful stuff that base themes provide.
A base theme is an ‘out of the box’ solution. It can be equipped ‘by default’ with features like Sass integration, a responsive grid system, solid default styles for common Drupal elements and other. And these come in really handy.
You can build your own theme starting from scratch and design a 100% custom theme, but it’s time consuming and not efficient all of the time. You can just edit and customize a base theme to suit your particular needs. It’s faster and easier.
Let’s take a look at some of the advantages of a base theme:
– You get a clean slate to start coding on and you won’t be hacking at a preexisting codebase
– You don’t need to know all of the base theme’s code to use it efficiently
– Base themes allow for updates without discarding any of your customizations
– You can have multiple custom themes and shave them share the bulk of the heavy lifting in a base theme
The basic concept behind a base theme is that of inheritance. Usually, a generalized contributed theme is used as a framework, in addition to a fully custom-built subtheme that overrides, customizes, and makes additions as needed. A subtheme inherits 100% of its base theme’s code, although it does not a have any of that code within itself. It basically grants you with a solid starting point and a lot of useful features.