loading...
markdown guide
 

As most things it depends on the context or your needs :-D

But if I had to choose a CMS to integrate in a web app I would probably choose a headless CMS.

Most CMS are built as a very coupled system where you have to take everything or nothing at all.

Headless CMS have been popping up more and more the latest years because often what you're actually looking for is the CMS "model", not the presentation layer. This way you can integrate a CMS inside your application, not the other way around.

You build your application that does X and then someone in a meeting says: "why don't we integrate a CMS to do Y?" (which means they want Wordpress inside your Python/Ruby app) and then you start dying slowly inside because your app is custom built and to make it work with a CMS is an insane amount of work (especially because not every framework stack has a full fledged CMS to pair with).

A headless CMS allows you to grow at your pace.

I don't know which headless CMS honestly because between three years ago when I tried Contentful and now there are so many new (and probably better) ones.

Start here: cmswire.com/web-cms/13-headless-cm...

 

There is no global answer to this question. As rhymes said, everything depends on the context or the requirements and the character of the project. Global answers result in using WordPress for 50% of all websites, and I am pretty sure, that this is a wrong decision in 90% of the cases.

I think to make the right decision you should:

  • Know the requirements of your customer.
  • Know the cms-market at least a little bit.
  • Know your preferences in technology and coding-language.

In the CMS-market you have a lot of segments, like:

  • Headless CMS, which are pretty hot right now. But headless is NOT a product, but an technical architecture (API-based) and a lot of traditional CMS-vendors provide headless installations of their CMS, too. In my eyes, headless is for special use cases and not the right choice in all cases. There are some dozens of new headless CMS and most of them are SaaS-Services like prismic, contentful or CloudCMS or new players like GraphCMS, but there are also some self-hosted software like directus. Along with "headless" comes "serverless" (another buzzword) and as far as I understand this means the serverless client-part (JavaScript) that you will build on top of a headless, but not totally sure because of all this marketing-buzz. All this is pretty hot among frontend-devs because they can concentrate on their JAMStack-stuff without caring about backend.
  • Static site generators: They are not CMS at all, but pretty en vogue among technicians as well. Totally fast and secure, because they produce static html. Smashing Magazine switched from WordPress to static sites with hugo and netlify a while ago. But all this is still hard to handle for non-technicians (there are some solutions for traditional author-interfaces like the netlify CMS). There are probably one or two hundred static site generators, some specialized on blogs, some on traditional websites, some on documentations. You can also combine static site generators with headless services.
  • Flat-File CMS: This is a small market mostly for lightweight websites. Best known are Kirby, Statamic and Grav, all php-based. Flat-file-cms are pretty fast and pretty easy to use, so for me they are a good compromise between traditional CMS and static site generators.
  • There are some other (older) CMS-solutions that you can use to make static html-sites editable, most of them are remote services. It's a niche, but for simple websites this can be a choice, too.
  • Finally all the traditional CMS, open source or proprietary. There are several hundreds, so it's hard to choose. Especially in the php-market the big ones are mostly pretty old, sometimes over complex and with a lack of usability, a lot of legacy code and often some security holes. But they also proved that they work for many years. On the other side, there are some pretty cool new (open source and proprietary) CMS for mid-sized websites like Craft (php, proprietary), that is inspired by ExpressionEngine. But all these solutions are tailored for specific markets and specific needs.

So it should be pretty clear that it does not make any sense to choose any CMS without analyzing the requirements and context of the customer first. If your customer is a fortune500 company, then chances are high that they use some highly complex proprietary CMS like Adobe AEM, CoreMedia or maybe open source systems like drupal or similar. If your client is your friend with a private website, than even a flat-file-cms might be too much. If your customer is a midsize e-commerce company, well, than it looks different again. If your customer focuses on content marketing, well, another context again. Or if he simply want's a primitive online business card, why not use a website builder.

So, to find an answer I would suggest: Never use a CMS because someone said, that it is the best CMS ...

 

Hello Sebastian Schürmanns,

Thank you for detailed explanation. It is really helpful.

 

I've used Camaleon CMS with Rails for all my projects. For anyone needing a Wordpress-ish CMS in a Rails project, it's great. It also seems to pay a lot more attention to translation features than is common in most projects. I haven't used these features myself, but it seems to be gaining some use in the non-English speaking world for this reason. It's also got good plugin development features, though it doesn't have the range of existing plugins that the big PHP CMSes have.

 

Headless CMS's are awesome and I think should be use for most of the solutions we would develop. But how about that Wordpress? :)

Classic DEV Post from May 19 '19

Why Use Python for Startups?

The advantages of using Python for building your startup

Karthikeyan P profile image

dev.to is where software developers stay in the loop and avoid career stagnation.

Sign up (for free)