Why Use Decoupled Drupal
by Christian Yates
When should you build Decoupled Drupal websites?
- Your front-end team is deeply familiar with non-Drupal technologies and is struggling with Drupal’s theming layer (although Drupal 8 improves the theming layer with the adoption of the Twig templating engine)
- Your front-end team really wants to use new technologies designed for easy DOM manipulation and AJAX integration
- You need a front-end in a non-browser context, e.g. a “native” mobile app
- You need broad cross-channel flexibility, you might want a Drupal front-end as well as alternative front-ends like mobile apps
- You have a mixture of real-time content sources, for example a weather or news site that pulls dynamic data from web services to layer on top of more “evergreen” content
However, there are several drawbacks because using non-Drupal front-ends means you lose native Drupal functionality:
- Site builders may have more difficulty changing the content model or presentation quickly because any changes have to be re-implemented in the alternative front-end
- Drupal can no longer build, validate, and process your forms automatically (and developers need to think about how they manage these processes on the front-end and back-end)
- If you deploy new modules, you may have to re-implement their front-end functionality
- Content creators will not be able to preview what content looks like once it goes to production, unless you specifically build a preview pipeline
Acquia Cloud customers run many sites and applications using Drupal as a back-end content repository. Some of those sites run in a Virtual Private Cloud. This allows the content repository to access sensitive in-house data without exposing it to the broader internet. Then Drupal can selectively expose information via APIs to different channels. Acquia also runs some of its internal applications on Drupal in a decoupled architecture. If you’d like to learn more about how to pick the right approach for you, feel free to reach out and contact us.
This post was written with contributions from both Christian Yates and Isaac Sukin.