January  6th.  2010
Permalink

Why Drupal Themes Suck vs Wordpress, Joomla, etc

posted 2 years ago

People often criticise Drupal for having a poor design/theme community behind it - at least in comparison to Joomla or Wordpress. There’s actually a pretty straightforward reason for why this is the case, and no, it has nothing to do with the technology being unfriendly or difficult.

Drupal assumes very little. In fact, Drupal assumes next to nothing about what kind of site you’re going to build. A Drupal site could be a blog, a website, a store, a community… and even in those sub-sets, there are no assumptions made about how these different types of sites will work. Drupal is better described as a content management framework as opposed to an out of the box “product”.

In fact, this misconception about Drupal being a ready to use product “out of the box” is one of the major sources of criticism, frustration and confusion from first time users (but I’ll save that for another post).

Essentially, a Drupal site is a lot like a Lego project. You plug in a wide variety of modules to shape the site to work and be what it is you want it to be. You could describe the same sort of site to 10 different developers, and you’d likely end up with 10 different approaches for implementation that all achieve the same goal.

Now, take the perspective of a designer. You’ve got a great idea for a theme, and you’d like to share it with the world. The problem you face is you have NO IDEA how the Drupal site will be built or what modules will be used.

Will the site use the primary and secondary links? Will they use a module sitting in a block position instead? How many menus will it use? Will there be a taxonomy? Will there be comments? What kind of content will be stored? Sure, you could build a basic theme that makes Drupal look great based on its default configuration, but once a user starts changing the configuration and functionality, the theme will fall apart.

To design a great Drupal theme, you have to pretty much skin every piece of core functionality (which is comprehensive), on top of the output of common or popular modules, AND anticipate the interactions of various combinations of those modules.

Compare this to designing a Wordpress theme. You know exactly how the menu will be rendered, you know about the category list, the tag list, that there will be comments. You know what content will be pulled onto the front page, you know each post is linked to a dedicated page. You can assume pretty safely that anyone using Wordpress is using it to build a blog. When you know WHAT you’re theming, you can make plenty of assumptions and build a very comprehensive theme.

I don’t necessarily consider this fact a positive or a negative for Drupal. It’s just the result of the way Drupal was designed. There are plenty of open source content management tools on the net, and there is no single solution for every project. Being educated on the strengths and weaknesses of each platform is the best way to select the tool that best fits in with your needs and goals.

  1. istoselidon2g reblogged this from jmking
  2. jmking posted this