Whether you are a Digital Marketer looking to adopt open source and Drupal for the first time, or an Engineer, Strategist, or Project Manager assigned to a Drupal project, it’s critical that you define your approach to the “3 C's" of Drupal: Core, Contrib, and Custom. This decision directly impacts the performance, scalability, and maintenance of the websites and/or other digital assets that you are powering with Drupal.

Mediacurrent has thousands of hours of experience in Drupal 8 client work and we’ve been successful in many ways thanks to our approach to the 3C's:

Develop with Core and Contrib first, use Custom only if you have to.  

D is for Decoupled 

But now there’s a new ingredient to add to this list of architecture considerations thanks to new technologies from Google, Facebook, very smart people in the Drupal development community, and what seems to be a limitless landscape to how to address good user experience.  And this time, it starts with a D.  We call it decoupled.  

Decoupled has been in place for a few years, but the open source and Drupal community are really beginning to rally around it, as evidenced by more than 100 professionals gathering in NYC last weekend at 30 Rock. Their goal: to set some standards and direction on the facets of the decoupled approach (DecoupledDevDays, held August 19 and 20).

The 3 C's (and a D)

Here’s what the modified list of the “3 C’s” looks like with decoupled added:

Core

This is what comes “out of the box” in Drupal 8. This most recent version of Drupal comes equipped with improved tools for creating and editing content, API-ready architecture to more seamlessly connect systems and configurations to make localizing and personalizing much easier than with the previous version.  If you’re like many organizations who are wrestling with the ‘when to update’ question, this tool can help.  

Contrib

Contrib represents all of the great work that members of the Drupal community are accomplishing year after year.  When someone or a team in the community solves a problem for a specific use case or feature, they then have the opportunity to contribute their work back into the Drupal community, in the form of a Drupal module.  There are more than 25,000+ Contributed modules for Drupal, which is awesome!  But which one do you need?  As a general rule, you want to look for modules that are well-maintained and ready for Drupal 8. If you’re unsure, ask an expert, or take a peek at the favorite Drupal 8 Modules from our VP of Technical Operations.

Custom

Put simply, Custom means custom code. When needs go beyond what Core and Contrib can solve for, custom code can be written to accomplish the goal. However, at Mediacurrent, we believe that you only make projects as complex as they need to be and that customized code should be used sparingly so it is easier to scale and support your website.

Decoupled

Decoupled Drupal is the use of Drupal as a content service for other non-Drupal applications, whether they are in native desktop or mobile, universal JavaScript, set-top boxes, IoT devices, conversational interfaces, or other technologies (definition from DecoupledDevDays.Com). I’ll also note with this definition that Decoupled Drupal may also be called “headless” Drupal in some circles because with Decoupled Drupal you are essentially removing the Front-end (client side) responsibility from Drupal and replacing it with great new Javascript Frameworks, such as Angular and React.  

Why Decoupled Matters

The decoupled architecture was born out of demand for fast-loading applications and personalized and relevant content delivered where and when users need it. Put simply, decoupled is aimed at effective omnichannel marketing and best-in-class user experiences that meet the expectations of your audiences - from those individuals who create the content to those individuals who consume it.
 

What are the use cases?

There were a host of great sessions at Decoupled Dev Days, so be sure to check them out on the YouTube channel here. For me, all of the session boiled down to helping organizations accomplish the following:

  • Performance: Pages load faster, editors can edit faster and you’re able to expose more tools for ingesting and sorting content.  
  • More UX options
  • Omnichannel: Content that is created once can then be published through any number of channels (API infrastructure).
  • Lower cost of ownership: Javascript components can be shared across channels (e.g. web and mobile).  There are great cost efficiencies in being able to build the component once, and then reuse it everywhere.
  • Resourcing: It’s fun working in Javascript! More and more developers are gravitating to this language, which opens up your talent pool.  Plus, if you have Javascript talent already in-house, you won’t have to add Drupal to their training (unless you want to, of course).
     

Can we name it with a C so it fits nicely in the 4Cs?

Probably not, however, the buzzword in the decoupled community right now is definitely “Choice” since there are several options to choose from. Options include:

I’ll let the framework pros duke that decision out, but for more information on Fully Decoupled vs. Progressively Decoupled, click here for a forum at Drupal.org.
 

What’s Next?

Having been one of the first Drupal-centric agencies to implement the decoupled architecture for both Drupal 7 and Drupal 8, Mediacurrent has a passion for helping our clients and our community make the most out of this fantastic addition to the Drupal architectural family, whether it starts with a D or a C!

What’s your take on decoupled?