Building a Content Management System Pt 2 – Webforms versus MVC


My first post on this topic was a brief discussion on the data model I was planning on using for my own home built Content Management System.

Now I need to be able to build a site to not only populate the data but to also display it effectively to users.

Over the years, ASP.Net development has progressed in spades thanks to new frameworks not only from Microsoft but also the open source community. Having a variety of solutions to problems is a luxury that developers appreciate.

In my case, I’m choosing whether to make use of the classic Webforms templating engine or ASP.Net MVC. Most of my past experience has been with the former however I gave been curious about the progress made with MVC version 4 to give it a shot.

Certainly one thing in MVC’s favour is the ability to cleanly codify process, thanks to its standard way of breaking up the presentation from the data and logic.

In my case it makes the administration side of the site simpler to implement as dealing with forms requires much less code. Used in conjunction with the Entity Framework (on the database side) we have a very nice structure for dealing with the data.

On the other hand Web Forms have a strong legacy of code including controls available online. Certainly if the public facing pages of a CMS aren’t that complicated you can still be confident in choosing this as your platform and the pages may be quicker to build too.

The good news is with the release of Visual Studio 2013, we won’t have to choose; VS2013 will support “hybrid” projects allowing a mix of Web Forms, MVC and Web API to safely coexist.

For any developer, having the options there is a great thing. I know I will take advantage of it.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.