Choosing a CMS - Drupal 8 vs ExpressionEngine 3

Posted on Fri, January 22, 2016 in by Mark Middleton

Content Management Systems (CMSs) are web software systems that make programming and building a website easy. While at first glance many CMSs seem similar, there are differences between them, and knowing which one is right for your project can be a bit overwhelming. In this post, we’ll explore a few of the major differences (and a few similarities) between two of the most popular and most robust CMSs, ExpressionEngine 3 (newest update released in Oct. 2015) and Drupal 8 (newest update released in Nov. 2015).

Drupal 8

Drupal 8 is a major rewrite of the code-base, and built on Symfony, a well-maintained PHP framework. Because it is much more “standards based” than ExpressionEngine 3, any PHP developer familiar with Symfony will have an easy learning curve. It is extremely well built, and used by very large websites that need speed and stability. It is free (open source), however it requires a tremendous amount of work to get live. Picture getting a huge pile of free wood in order to build a new house – the materials are all there, but you’re the one cutting, sawing, sizing, and piecing everything together on your own. In other words, in order to do anything, you must do everything. While powerful, it requires extensive development and configuration to perform.

ExpressionEngine 3

ExpressionEngine 3 is a significant update, but requires only minor updates for the add-ons to the take advantage of the new features. Although it technically has a license fee of $300, the cost of building an ExpressionEngine site is generally lower, as it doesn’t require as much work to get the site up and running. ExpressionEngine still has the backbone to withstand huge amounts of traffic and a solid architecture that is very developer friendly. It has the simplicity for rapid site building and the flexibility for extensive custom system development. Both BarackObama.com and DonaldJTrump.com, for example, are built with ExpressionEngine and have performed perfectly under the pressures of huge traffic levels.

Differences

The ExpressionEngine developers have decoupled much of its code base from its foundational framework “CodeIgniter.” By doing so, it is growing up and using more efficient framework – less “straight-forward” PHP. EE3 is much easier to get going on smaller projects, but can be easily scaled to architect much more complex features, and as a general rule EE developers are going to be cheaper than Drupal developers.

Think of the difference between ExpressionEngine 3 and Drupal 8 as the difference between an 18-wheeler and a utility pick-up truck. The pick-up truck is usually the easiest and most useful for the vast majority of people, but the 18-wheeler is designed to be used for enterprise work and would be overkill for most. And while the cost of building a Drupal site is generally more expensive, the Drupal site can we architected to handle more complex business logic and functionality.

ExpressionEngine Drupal
Usage Powerful all-purpose framework for rapid development of custom web-apps. Heavy-lifting system requiring extensive development to get to the minimum functionality. To leverage more advanced features, costly and lengthy development is required.
Base Cost $300 one time (per domain) Free
Cost of Modules and Add-ons Varies, about a third are free, others are reasonably priced Free
Language PHP PHP
Database MySQL MySQL or PostgreSQL
Maintainer EllisLab (small team of about 20 staff) Community driven: 3200 contributors
Difficulty Admin friendly, developer friendly. Most features available out of the box, or with a simple module. Highly technical, requires extensive PHP knowledge
Custom Fields Native Added to core in D7 (also known as the content construction kit CCK)
Scalable Challenging to scale to ultra-high traffic sites without extensive DevOps expertise. No support for database clusters. Built for scale out of the box. Supports clusters and multi-server environments natively.

Tell Us About Your Project

Invalid phone number