CMS vs Framework

The topic first came up on Reddit, but it’d be foolish to ignore our own previous forays into the area. There was, of course, the infamous flop of 2014 where we compared Wordpress to a framework—a new editor’s slip-up—and a further review of an actual framework inspired by Laravel but built on top of Wordpress: Themosis. Further, we published dozens of tutorials about both Drupal 7 and the new and completely revamped Drupal 8, covering everything from custom content types to stuff that has almost no relation to content or content management. Dozens of other CMSes were covered, too, to varying degrees of depth, most of them heavily customized by our authors for the needs of our audience.

So the question from Reddit beckons - at which point does a CMS stop being just a CMS, and becomes a framework? When does the line become so blurred as to make the CMS capable of powering any app that the developer thinks up?

In my opinion: never. Any framework which begins as a CMS will forever be constrained by the CMS and its original setup, habits, and paradigms. Sure, you can slap on an advanced DI container or a custom templating engine, even a scheduler or some additional packages that weren’t there before, you can even try to turn it into Laravel by literally building Laravel on top of it, but that CMS will never become a framework for as long as its cruddy CRUD powers what’s underneath.

That’s not to say the experience of the customization is a trivial matter - anyone who managed to turn the spaghetti of Wordpress or Drupal 7 into a highly customized setup for advanced applications that have little to nothing in common with the original purpose of the CMS is cool in my book. Heck, adding a DI container, a templating engine, autoloading, and a modern database abstraction layer into such a legacy CMS is no small feat, and I’d hire the developer asking the question in Reddit in heartbeat, but calling the heavily modified CMS a framework is where I’d draw the line.

What about you? Do you share my opinion on this matter? Or do you consider a sufficiently edited CMS to be a viable framework? Let us know!

5 Likes

To me, a framework is like a big box of LEGOs. You can combine them as you want and the results are, most of the time, limited by your imagination. A CMS, on the other hand, is like a modular toy. You can customize the modules, even swap some around if the connection points fit, but you can’t stray too far away. If you started with a car, you won’t get a castle out of it, no matter how much you repaint the modules.

6 Likes

A CMS is an application. A framework isn’t.

A CMS might have a framework underneath it, like Drupal 8 is built off of Symfony (components). Or Neos is built off of Flow.

A CMS can be a platform. A framework is usually the core, which forms the ability for the CMS to be a platform.

Scott

2 Likes

I believe that each tool is build for a reason thus as several tools you recognize (frameworks or CMS), thus versatile you’re as an expert developer. thus it doesn’t worthwhile to be a CMS or a Framework fan. simply select the most effective tool for you scenario and that’s it.

1 Like

I think everyone is looking for the cheapest solution, and with the cheapest sometimes you have to take the long way around.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.