9 ms·
The target audience for a CMS and a Framework are quite different. CMS is aimed at the end-user while frameworks are for programmers. This is significant if you
by arocks 14y ago
The target audience for a CMS and a Framework are quite different. CMS is aimed at the end-user while frameworks are for programmers. This is significant if you look at the popular languages for CMSes like PHP or ASP. In these languages you can "deploy" the solution by just unzipping files into a folder. Django and Rails need a lot more work. Practically, if you need a full-blown CMS there is very little need to look at the languages with complicated deployments.
Also, a Framework and a CMS attacks the problems space in two different ways. Frameworks are bottom-up while CMSes are top-down. So solutions built in Django and Rails do not carry all the bloat and latent runtime functionalities that a CMS carries.
Lastly, even though Rails and Django are the leading frameworks, it is wrong to expect a CMS to be built using them. Theoretically, you can use a microframework like Flask because you are going to rewrite most the framework functionality anyways.
- wiremine 14y ago"In these languages you can "deploy" the solution by just unzipping files into a folder. Django and Rails need a lot more work." Totally agree with this. It also smells like an opportunity for someone. In the age of Heroku, it feels like the process should be a lot easier. I.e.: * Download a Django or Rails based CSM. * Create a Heroku account * ./manage.py deploy_heroku * Profit
- bergie 14y agoWhy even require the download and command-line steps? You could probably wrap this all in a nice web interface
- lampe 14y agothis "easy" deployment only works cause most webservers allready got the apache mods,php,mysql dependencys installed. deploying a rails app on a server where ruby and the needed databse is installed is also "easy"
- netdog 14y ago> Django ... it is wrong to expect a CMS to be built using them. Django was originally developed to build a CMS, for the Lawrence Journal-World
- irahul 14y ago> because you are going to rewrite most the framework functionality anyways. What part of Rails or Django do you have to rewrite because you are building a CMS?
- arocks 14y agoProbably the user model, permission system, flat pages, media handling and comments system. Or probably extend all of that. I am not saying that it is impossible. But merely pointing out that Python web framework ecosystem is rich enough that many of its hundreds of frameworks are possible options.
- irahul 14y ago> I am not saying that it is impossible. And I am saying far from impossible, it's quite convenient. If I am using rails, I will plugin devise, couple it with can-can and be done with authorization and authentication. Django makes enough assumptions about the user model, but not enough to warrant not using it for a CMS system. Django flat pages is a small CMS system, but in practice is useful only when the developers are creating/editing content. If it meets my requirement, I sure as hell will add admin & flat-pages apps, do minor tweaks and call it a day. I don't see how any of it is a hindrance. > But merely pointing out that Python web framework ecosystem is rich enough that many of its hundreds of frameworks are possible options. I didn't contend Python ecosystem isn't rich enough. I am merely pointing out that "Django or Rails is not suitable for writing a CMS" is not true. A CMS can be as simple or as complex as you want, but the average CMS is the simplest kind of web application. Rails and Django make the task easier, not harder, and Django came out of a newsroom CMS.