Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Whether to use CMS or not

I've started to wondering whether ASP.NET Webforms/MVC even have a place in the web developers toolbox anymore... It seems that CMS systems like Umbraco have replaced the web developers job. Yes I know that those CMS systems are built with ASP.NET Webforms/MVC - however is there even any reason for learning those things if all you gonna do is to use a CMS system anyway? - Also I cant find any situation where a CMS system can be replaced by your own web application.

My question is therefore: Is there any reason for learning Webforms/MVC when using a CMS?

EDIT:

My question might be more like: When should I use a CMS, and when should I go and build my own web app?

like image 936
ebb Avatar asked Jan 02 '11 20:01

ebb


People also ask

Do you really need a CMS?

For websites both large and small, you really can't go wrong using a CMS, as they enable you to easily make changes or grow your website with ease as needed. Although it may take an initial bit of time to get the hang of using a CMS, once you do, it's fairly easy and intuitive.

Why would you use a CMS?

A content management system is for creating, managing, and optimizing your customers' digital experience. More specifically, a CMS is a software application that allows users to collaborate in the creation, editing, and production of digital content: web pages, blog posts, etc.

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.

Should I use CMS or build from scratch?

Speed of Development - CMS platforms are faster to build. Even a basic website can be put in a day using CMS platforms. On the other hand, custom scratch website takes a pretty amount of time in development. User Experience - CMS platform websites are built on a base, so they give you a standard user experience.


4 Answers

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).

like image 94
Scott Avatar answered Oct 21 '22 12:10

Scott


Writing a CMS is like invading Afghanistan.

Everybody gets a turn but nobody wins.

like image 41
John Farrell Avatar answered Oct 21 '22 11:10

John Farrell


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.

like image 36
jgauffin Avatar answered Oct 21 '22 11:10

jgauffin


Not every problem needs a CMS. In the same way not every problem needs a bespoke MVC/webforms website. It depends on what your requirements are. You pick the technology to solve the problem.

Build vs buy is the hardest decision to make. As a developer build always looks best. You can do better than that pile of carp they want to buy. Nevermind that you're reinventing the wheel, axel, cart, etc. To users/management buy always looks best. They don't have to think to hard about what they want and can have it now, not 3 months later after you write it. They forget it'll cost the same again to customise & make it impossible to upgrade.

I'll stop ranting now.

like image 38
Simon Halsey Avatar answered Oct 21 '22 11:10

Simon Halsey