CMS Battles: Drupal vs. ASP.Net
After looking around for sources on Drupal vs ASP.NET it became clear there is a lot of tension regarding which is the superior platform. So, to avoid creating even more, I am just going to lay out the facts and let you decide that Drupal is the better platform.
Okay maybe I'm wrong - it really depends on your company’s goals - so let's start by looking at what major websites are using for their platforms.
For ASP .NET we find the following:
For Drupal we have:
- The White House
- Fox Nation
- The Washington Post
Now these are just a select few from each platform, although it was a lot harder to find a resource for websites using ASP.NET than it was finding websites using Drupal. Maybe that is due to the better marketing done by Drupal - when you go to Drupal.com it lists all of the websites using the CMS - but that's a different topic all together.
Just glancing over these lists we see a lot of big names in both platforms. Now after looking around, it was obvious that most of the major websites using ASP.NET were divisions of Microsoft, which is to be expected, but there are still a few that aren’t.
So what are the major differences between the two?
|Uses PAC model (Presentation Abstraction Control)||Uses MVC model (Model View Controller)|
|Uses PHP programming language which is less structured than C#||Uses C# programming language which is a lot more structured than PHP|
|Can run on any server||Has to run on windows servers which can be expensive|
|Good for enterprise level websites and medium sized websites||Good for enterprise level websites, too expensive for medium or small|
|Very steep learning curve, can take upto two years to really know what you are doing||Learning curve not as steep as Drupal especially if you already know C#|
|Open source||Requires Visual Studio which is not free|
|Very large supportive community that maintain and grow Drupal||Maintained and grown by Microsoft with some support from the community|
|Can be made to work with many different platforms||Integrates well with Microsoft Business Applications|
|Low server maintenance costs||High server maintenance costs|
|Easier and cheaper to find Linux Server Administrators and PHP developers||Harder to find Microsoft certified Developers and Server Administrators|
Checkout this blog to learn more about PAC and MVC http://www.garfieldtech.com/blog/mvc-vs-pac
Why they Chose Their Platform
Now let’s take a second to look back at how the major websites of today’s world started. By doing this we find evidence of why each of the sites chose the platform they are using. If we look at the giants like Facebook or Google, we discover that they were started as small hobby projects or research projects from students in university. Now you and I know that most students do not have a lot of money and they tend to gravitate towards the free and open source community. PHP, Apache, Linux, MySQl also called "LAMP Stacks" are free and very easy to setup and maintain, and that is exactly what these giants started on.
If you are looking for a CMS that can support large enterprise level websites that are written in PHP and you do not want to custom code your own CMS, then Drupal is the best solution.
Now looking into some of the websites listed under the ASP.Net side, we can assume they were not started as small hobby sites by students, rather they were made by either established companies or companies with large investments and could afford to pick what ever platform they wanted. Or maybe their entire company infrastructure is integrated with other Microsoft products and they needed the website to integrate with their existing framework.
I’m not arguing here that if you have money you should go with ASP.NET and I'm not saying that all of the Drupal web sites were made by one guy or girl as a hobby. All I’m saying is that these sites that started as hobbies would not even have considered ASP.NET platforms. But if your business wants to integrate with Microsoft services and applications then ASP.NET is the best solution.
When it comes down to choosing one over the other it solely depends on the end goal of your web application. I cannot argue one is better than the other when they both do different things very well. Microsoft has made a great product for large businesses who run large networks of Microsoft products and Drupal has made a great affordable platform for building very scalable websites on any type of system.