Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

When should I use a CMS over creating a website from scratch?

Lately I've been trying to learn ASP.NET. I've gone through the tutorials on the ASP.NET website, but for the most part I'm a complete beginner. I've also been working on creating a personal website, which I've opted to use the CMS Umbraco because it is based on ASP.NET.

Now my questions is not really specific to ASP or Umbraco. It could apply to PHP and Drupal or any other website framework and CMS. I'd like to know when and why a website should be created using an existing CMS technology (Umbraco, Drupal etc..), and when a website should be created from "scratch" using a base web application framework like ASP.NET, PHP, JSP etc..

like image 855
Eric Anastas Avatar asked Nov 28 '10 22:11

Eric Anastas


People also ask

Should I use CMS or build from scratch?

In short, a CMS is great for most sites. Building a site from scratch is often needed, however, if you are building something new (i.e. a web service that is very specific) and it would be more difficult to force into the constraints of a CMS than just write yourself.

Why would you use CMS over a website builder?

Some CMS themes even come with their own drag and drop features, making them just as easy to use as website builders. Offers greater customization – Content management systems allow access to the underlying code, allowing you to make specific changes you wouldn't be able to make when using a website builder.

Should I code a website or use a CMS?

You should use the CMS tool wherever applicable to get the basic things done quickly. Then where the CMS tool's usage ends, you should go for hand coding to get the desired features. Therefore, as a website developer, you should have knowledge of using both to create a website as per your requirement.


1 Answers

It depends heavily on the CMS's (module/theme) API, for instance, one Drupal modularity in my opinion is its greatest strength, although learning Drupal itself is not to be taken lightly either. I've seen a lot of commercial sites done in Drupal, most of them look successful, but it made me think what was the total cost of creating the modules, customizing it, etc.

Since you mention you are a newbie in this stuff, do take in account all the stuff to take care of when you are creating a website from the scracth:

  • Security (XSS prevention, sql injection, blah blah)
  • Authentication
  • A flexible theme system (unless you mix html with code... good luck, although there are some really nice template system available for PHP 5)
  • Database Layer (just use an ORM)
  • Learning JavaScript, then learn jQuery, MooTools, etc.
  • Administration panel
  • Adding stuff like content management

But most importantly, plan something before doing it. Starting out just because you feel like without planning what you want and how will you implement it creates uncertainty, just too many doubts...

So start with a CMS, even for a personal site. There are solutions like Joomla! Drupal, SimpleCMS, some django CMS are also out there. Learn the language of the CMS and start creating your own module as you see fit. Always read their documentation, search in forums before asking, or search here in stackoverflow. Really.. just ask here.. better than googling for a solution :P

like image 161
allenskd Avatar answered Nov 13 '22 11:11

allenskd