
We’re excited to hear your project.
Let’s collaborate!
Progressively decoupled Drupal has gone from concept to buzzword. Until recently, when we've started to witness sustained efforts being made to set up a standard workflow for implementing this architecture.
New dedicated modules have been developed to fit those use cases where just a few particular blocks, affecting the website's overall performance, need to be decoupled. All while preserving Drupal's standard robust features.
Features too famous among content editors and site builders to be sacrificed in the name of high speed and rich UX.
We've gradually shifted focus from “Why would I choose progressive decoupling over a headless CMS?” to:
“How precisely do I implement the progressive approach into my own decoupled Drupal project? Is there a standardized process, based on a set of dedicated modules, that I can leverage?”
And this is what I'll be focusing on in this post here.
More precisely, on the efforts for standardizing the whole workflow: see Decoupled Blocks and the SPALP module!
Is this approach nothing but a compromise between:
Progressively decoupling blocks in Drupal is, indeed, the best compromise you could get between:
Developers get to leverage the JavaScript framework of their choice without interfering with the site assemblers' workflow. Flexibility at its best!
But does being a viable compromise makes it also a worthy alternative to the fully decoupling option?
It does.
Specifically because:
In other words:
For all those Drupal projects requiring that only certain components should be decoupled, an all-in transition would be simply... redundant and unnecessarily risky.
For all those projects there's the progressively decoupled Drupal alternative.
As you explore progressively decoupled architectures, it's essential to understand how they can enhance omnichannel strategies, much like the benefits outlined in Leveraging Headless Drupal for Omnichannel Experiences.
How come the progressively decoupled Drupal strategy gained so little traction?
It seems that despite its drawbacks — the need to reinvent some of the lost “Drupal wheels” and its higher costs — the fully decoupled approach has been more popular.
And there are 3 main causes for this, that Dries Buytaert identified and exposed in his blog post on “How to Decouple Drupal in 2018”:
Now, back to this blog post's main topic:
Clear pieces of evidence that we're finally heading towards a standardized process for implementing this type of decoupled system.
And one such evidence is the SPALP module: Single Page Application Landing Page.
Here's a specific use case, so you can get an idea of its role in the entire workflow of a progressively decoupled Drupal project:
Let's say that you need to integrate a couple of JavaScript-based one-page apps into your Drupal website. The CMS will continue to be “in charge” of the page rendering, access control routing and navigation, while the JS apps would be developed independently, outside of Drupal. How would you configure these JS apps as Drupal web pages?
You'd use the SPALP module to configure each one of them so that:
“And how does this module work?”
Here's the whole “back-stage” mechanism:
Note: speaking of the efforts made to create a “Drupal way” of implementing this decoupled architecture, you might want to check out Decoupled Blocks, as well. It's designed to empower front-end developers to use the JS framework of their choice to develop individual custom blocks that would be later on integrated into Drupal. No Drupal API knowledge required!
The END!
What do you think: will the community continue their efforts to build a standard workflow for the progressively decoupled Drupal approach? Or will it remain a conceptual alternative to headless Drupal?
We’re excited to hear your project.
Let’s collaborate!