DEV Community

Mitch
Mitch

Posted on

Headless development vs traditional CMS development

With traditional development with CMS, the presentation is mostly CMS template driven. Meaning the layout of content can be at ANY level of the site, depending only on the CMS template.

For example, I define templates for home, section landing 1, section landing 2, press release details, media library, generic content page. I can create ANY of these element in CMS at ANY level, and I can see the corresponding layout. Purely base on the CMS template used.

However, in this headless era with frameworks, we need a well defined structure before we event starts the work.

For example, to have press release details page, it must be at path /press/[id] with Next.JS. Give and take, the route must be predefined. As the developer, I must anticipate what content will be at specific path pattern.

There is a huge gap with the understand from the typical CMS development mindset and the headless development mindset.

Client today will still want to create a page with any CMS template at random level today. And headless development does not seem to allow me to do so.

If the site is composed of all reusable components, then I can potentially have 1 page to catch all routes. Sadly it will be the case as layout will be so different. Listing pages needs to show its subsequent contents base on the CMS template type.

And I have not talked about multilingual support. In typical CMS development, the languages are maintained in CMS. Meaning client can add a language at some point without code changes. It's not the case with NextJS at least.

I have yet come across a real working solution to allow headless development presenting layout base on CMS template driven instead of route, may it be react, angular, vue.

Thoughts?

Top comments (0)