views:

520

answers:

4

Are both completely different concepts? Or is there an overlap in their meaning?

Would it be correct to say that a Web Framework is used for the creation of a front-end, while a CMS is used for the back-end?

If yes, then should the Web Framework use the same technology as the CMS? For example could Ruby on Rails be used in combination with Drupal? Or doesn't that make any sense at all?

A: 

Would it be correct to say that a Web Framework is used for the creation of a front-end, while a CMS is used for the back-end?

It's not "correct" but it's not wrong, either. A web framework is a general concept -- many things count. A CMS is a specific concept, often built within a web framework. Sometimes CMS's are stand-alone web applications. More often, however a CMS is a back-end things that require a customized presentation front-end.

Should the Web Framework use the same technology as the CMS?

Shouldn't matter. At the end of the API definition, the Framework and CMS can have any implementation at all.

Web App Frameworks -- generally -- must either serve HTTP requests or plug into something like Apache.

A CMS is a glorified database, and any sensible API is good. Most often, however, they're also using HTTP as their interface protocol.

Could Ruby on Rails be used in combination with Drupal?

Sure. Purists will object, but there's no technical reason why they can't cooperate.

S.Lott
I totally disagree saying a web framework is used for the frontent only and CMS for backend. CMS manages viewable content and also responds via http. A web framework also manages acces to databases and averything, but also has frontend functionality. One might add a newer concept of web frameworks being the javaScript frameworks - but then that doesn't match your web framework definition in the second praragraph (must serve http requests). And sure Rails and Drupal can be combined(just about everything can), but is only necessary/useful in special, complex scebarios.
Henning
Trying to compine a PHP CMS with a Ruby framework dosn't seem paticulary viable.
Jeremy French
Is this a serious response?! None of those points are correct!
micmcg
Jeremy, sure you can combine everything in IT, e.g. over protocols like rest or soap, so systems can be exchanged, whcih might be important in an enterprise setting - when for some reasons the systems _musts_ be combined. But, on the other hand, it definitely doesn't make much sense to decide using such a pair in a new project ;)
Henning
+8  A: 

Are both completely different concepts? Or is their an overlap in their meaning?

A web (application) framework is a lower level, generic toolkit for the development of web applications. That could be any type of system managing and processing data while exposing it's data and services to human users(via web browsers and other interactive clients) as well as machines via the http protocol.

A CMS is one type of such applications: a system to manage content shown in websites. Usually/historically, this mainly means managing (pieces of) text of "pages" shown in a web site, and useres that have different levels of access to manage this content. That's where the C and the M come from.

With a CMS, you can manage web content. With a Web framework, you build web applications.

Would it be correct to say that a Web Framework is used for the creation of a front-end, while a CMS is used for the back-end?

No. It would be correct to say that a web framework can be used to create a CMS. Both contain parts that work on the backend as well as on the front end. Often, a CMS is based on a web framework - sometimes CMS developers build there own web framework, and sometimes they even expose the API of this framework, so a developer can create extensions to the CMS in a way as if he would develop an application with a web framework. Drupal really does this, so you can create real web applications based on the integrated framework - with the upside that they will also be easily to integrate into the CMS. But that(exposing the API of a web framework) is no necessary criteria for being called a CMS.

If yes, then should the Web Framework use the same technology as the CMS? For example could Ruby on Rails be used in combination with Drupal? Or doesn't that make any sense at all?

It's be possible to combine two existing systems build with these two, (e.g. because you want to show some data in a web site managed by drupal, that already exists in a Rails-based system). But as Drupal also provides you some of the genric functionality of it's underlying web framework, it might not be necessary. You would have to manage and learn two very different systems and handle all the problems with there interoperation. So, I'd try to build a Website with only one of these if possible and only combine them if theres a good reason to.

Henning
So which web frameworks are commonly used with Drupal?
StackedCrooked
@StackedCrooked, Drupal is it's own framework, see my answer.
Jeremy French
Sorry, I was not clear enough, but I wrote: "sometimes CMS developers build there own web framework, and sometimes they even expose the API of this framework" - Drupal is one of these frameworks :) I guess in most cases, you don't need an extra framework. But it depends on what exactly you are about to achieve - which we don't know :)
Henning
+3  A: 

They're different concepts. A CMS can be built on top of a web-app framework, but a web-app framework has no direct relationship to a CMS. Its at a lower level, providing a platform for any type of web-app to be built on top of it, of which a CMS is an example.

JonoW
+1  A: 

Drupal runs on php and Ruby on rails runs on, well, Ruby, so they wouldn't play together.

Just to muddy the waters a bit, Drupal describes itself as a content managment framework which is essentially a content management system with hooks to extend it. Which does create an overlap. The drupal overview describes this better than I could.

Jeremy French