We get this question a lot. Should we build our website headless? It's not a bad idea. In fact, the premise sounds fantastic: the visitor loads a website only once in the browser and from then on he can enjoy a tremendously smooth user experience. This is certainly possible, by linking Drupal to a frontend application built in Angular.js or React.js for example. After all, Drupal is built to be API-first.
But is it a good idea to build your Drupal website as a headless CMS?
The answer is, as often, nuanced and strongly depends on what you want to achieve. You have to weigh the advantages and disadvantages against each other. Let's first have a look at what a headless CMS is, and what these advantages and disadvantages are.