Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CMS or Framework?

I'm looking to build a online store. However, the first question, past the idea of the store, is the platform. I've previously worked with Java and PHP and am quite comfortable with PHP. So my first considerations were Drupal or maybe CodeIgniter (which I have heard lots of good things about)

On discussions with friends, they suggested Django. But I have no experience with Python or Django.

So my question is, is CI better or Drupal? And further, if not either of them, is Django better in terms of ease of development and extensibility?

Request you to not make this a php vs python battle as I'm looking for advice here. Thanks

Edit: More information about the project:

The Project is intended to create a web-store for certain products which aren't currently sold online. The store will have high-resolution images of the products and other associated details. A few other special features related to the products will be added on in time so they aren't that important.

Another clarification: I understand that Drupal is a CMS and not a framework per so. The only reason I compared it to CI was due to the base platform - php. Perhaps the better comparison would have been Joomla vs Django (but I'm not sure as I do not know enough about either, yet)

like image 557
AJ. Avatar asked Sep 16 '10 08:09

AJ.


People also ask

Should I use CMS or framework?

If it is a minor or basic project, such as an informative website, it is recommended to use the CMS as it is easy to manage but if it is a more complex project, based on software development, it is much more advisable to develop based on a framework.

What is the difference between CMS and framework?

The key difference between CMS and framework is that a CMS is an application that creates and manages digital content while a framework is a software that contains a generic functionality that can be modified by additional user-written code depending on the application.

Is WordPress a framework or CMS?

In a nutshell, WordPress is a type of program called a Content Management System (CMS). This kind of platform is configured to help you create content and design your site, all within a visual and user-friendly interface. You can also extend the functionality of the core feature set in most CMS platforms.


5 Answers

Choosing a framework for a project you already know what will be the purpose will only slow your development down. If your project's main goal is to be an online store, then pick your choice among the many projects already implemented for you with payment gateways, shipping options, product management, etc. A framework may offer all that too, but will not be ready-to-use out of the box and you will have to bind everything together yourself. My personal opinion is that frameworks are good candidate when you need an highly customized web application that you will write from scratch, that will not only do e-Commerce but handle other specific business models too.

General purpose CMS such as Drupal, WordPress, etc. are good if you plan to extend your online store to also offer other options (i.g. forums, blogs, multimedia/interactive contents, etc.) If you choose to pick this avenue, I would suggest you download the source code of each CMS you retain and play with it for a while and pick the one you feel the most comfortable with, and which has a good user community. Because there's nothing worst than being stuck with someone else's broken code with no one to help you out.

For e-Commerce solutions, you can find many good projects here. If I may choose one to suggest, a solution that you may consider as it looks simple, it is written in PHP and has good reviews is OpenCart

A good one I have worked with is the Instinct e-Commerce plugin for WordPress. I don't necessarily like WordPress, but that plugin is fairly good and will have you get your online store up and running in no time. The plugin also enable you to code new custom payment gateways fairly easily (just one file to code...)

like image 166
Yanick Rochon Avatar answered Oct 20 '22 19:10

Yanick Rochon


CI and Django are frameworks that help you build a web application from scratch, if you are willing to do this - go ahead and try it. There should be plenty of modules available that allow you to easily extend the framework.

Drupal however is a CMS, so it comes with multiple plugins already installed and is able to manage your content. You'd still need to develop the "store" functionality - payment, listings, etc. - yourself.

like image 22
halfdan Avatar answered Oct 20 '22 17:10

halfdan


If the CMS fits you perfectly now and in the future then CMS, otherwise framework. The framework will allow you total liberty for the price of time spent on development

like image 37
Elzo Valugi Avatar answered Oct 20 '22 19:10

Elzo Valugi


Have you read and heard about JOOMLA i think its very poweful CMS in php and has a lot of community support as well, In java LifeRay is a good option.

like image 33
sushil bharwani Avatar answered Oct 20 '22 19:10

sushil bharwani


I'd only use a framework if the requirements can not be engineered into an existing cart CMS. I'd use a CMS over a shopping cart if the commerce aspect was relatively trivial I'm surprised you're not considering an off the shelf cart. Open Cart is pretty extensible, and Trading Eye has a nice CMS component.

like image 22
sunwukung Avatar answered Oct 20 '22 17:10

sunwukung