To go headless or not isn’t really something you would want to come close to considering in a real world scenario. In the digital world, however, it is a tricky decision to make. The expectations of end users are soaring higher and higher with each passing day. Big guns like Twitter, Facebook, Gmail etc. have been spoiling them rotten by providing some impressive application-like user experiences. And we have no choice but to at least get close to offering a swanky UX.
There is no doubt that Drupal CMS on its own can deliver a rich user experience to the end user but when it comes down to instantaneous responses for a request, it does fall short. In a decoupled Drupal architecture, instead of the Drupal’s theme layer, a client-side framework like AngularJS, React or Backbone.JS is used. So a user request does not have to be processed by the server all the time, which can improve the speed and UX of your Drupal website.
Categorizing Decoupled Drupal
Is it a good idea?
So traditionally, Drupal CMS is meant to do both – content management and rendering the front-end for the whole website. A lot of pressure, don’t you think? Drupal experts believe that Drupal’s strengths lies in the power and flexibility of its back-end and that it needs to be service oriented first instead of HTML oriented. Decoupling Drupal means letting some other system manage the front-end while Drupal takes care of the back-end system. Why is it a good idea to decouple Drupal, you ask?
- With a decoupled CMS, detaching the front-end from the back-end content management system will allow for more flexibility and efficiency of the Drupal content model. Just like how delegating work decreases your workload and increases productivity.
- Headless Drupal allows front-end developers to have full control over the presentation, UI design and UX of the website. The combination of a great client-side framework and a seasoned front-end developer can get you a website with a rich, faster, application-like user-experience, and seamless interactivity.
- Both the front-end and back-end developers can work independently which can lead to efficient and speedy delivery of a project.
- If you ever want to redesign your website, you won’t have to re-implement your Drupal CMS. Likewise, revamping your back-end system can be accomplished without having to alter your front- end.
Although decoupling can help you achieve your goals of an uninterrupted and application-like user- experience, it might not be a good fit for everyone. Here’s why –
- Websites like News sites or Blogs, which don’t really need much user interactivity, will not benefit from decoupling their Drupal website.
- When you opt for a fully decoupled drupal architecture for your website, you are letting go of some of the top (and free) functionalities that come with the Drupal theme layer like the block placements, layout and display management, content previews, UI localization, security features like cross-site scripting (XSS), etc. Some of them cannot be replicated by a client-side framework.
- If budget is an issue you need to keep in mind about the price you will have to shell out for experienced front-end developers. Also the cost for rebuilding a missing (otherwise freely available) Drupal feature from scratch.