Whether to use CMS or not Whether to use CMS or not asp.net asp.net

Whether to use CMS or not


The problem with CMS solutions, and I mean all CMS solutions (not just Umbraco, or other .NET solutions, but in any language) is that you will always pay a price for using them. You may gain more from the time-savings afforded by using the CMS, but there are trade-offs to consider:

  • You will sacrifice a great deal of flexibility
  • You could pay a significant performance penalty. Many CMSs load a large amount of modules and code to service every request, and much of this is not relevant to a particular page function. (though some CMSs are more monstrously heavy than others!)
  • The future of your project is tied to yet another vendor, and their own choices
  • Very often, you rule out the possibility of using other databases that might have better fit your customer's needs (Umbraco doesn't support PostgreSQL, Kentico only supports SQL Server)

Once you start using a CMS you will be tied into satisfying the architectural decisions and API of the CMS framework, and you could eventually be backed into a corner.

This can be particularly problematic if your 'site' is more of a web application than a pure content delivery site. In such cases it can make more sense to choose to build using the full flexibility of the web application framework, rather than risk getting backed into an architectural corner.

On the other hand, if you are building a web site that has potentially hundreds of pages, with a lot of user-contributed content and is much less of a web application, then often a CMS is the way to go, and makes a lot of sense. But remember, you now have two frameworks and two APIs to learn and manage (your platform's framework and the CMS framework).


Writing a CMS is like invading Afghanistan.

Everybody gets a turn but nobody wins.


I don't think that Stack Overflow could have been built with a CMS. Does that answer your question? =)

Update

To answer your updated question.

If you want a regular corporation web containing news, articles, forum etc: Go ahead and use a CMS.

If you need to build a more custom web site like stackoverflow, a web interface for a system or anything like that: Built it using MVC etc.

I personally use a CMS for our corparate website and a MVC framework to build user and administration interfaces for our products.