Is it reasonable to develop large-scale projects in ASP.NET MVC 4?

2.9k Views Asked by At

Is it reasonable to develop large-scale projects (social networks) that in perspective will process millions of visits per day in ASP.NET MVC. I guess in that case performance of the site will be extremely slow. I need some advice. What is better choice for building social network in terms of performance and scalability? Is it ok to build it in ASP MVC or it is bad choice? May be it is better to do it with Ruby on Rails for example? How do u think? Thanks in advance!)

4

There are 4 best solutions below

0
On BEST ANSWER

StackOverflow itself was written with ASP.NET MVC. According to wikipedia it has over 1,700,000 registered users as of June 2013. I would say that is a good enough testament to the power of ASP.NET MVC for large scale social based applications

0
On

for creating large application, use mvc as presentation tier only, separate the business layer and share model between by implementing it as separate project. With proper design pattern you can easily develop large web applications.

0
On

Just like the other users said MVC is just the presentation part of your application. The key is how you design your application in a scalable, maintainable and extensible way.

You need to make each component of your application loosely coupled to each other so development will be easier and more focused. A component based loosely coupled design will also improve testability and maintainability of your system.

To answer your question regarding MVC as part of a large scale application, Yes this could be a good choice if you do it properly. MVC itself is an design architecture that allow you to separate presentation and application domain logic that makes testing and maintaining easier. I will spend more time on how to make your MVC layer fit into your overall design.

0
On

+1 @Andy. ASP.NET MVC may be the best framework for building a social based application, but if you make bad design choices then the best framework in the world won't save you. You need to test the load you expect to receive, e.g. take a feature of your application and hammer it with 100 users, then 1000, then 10K,etc. Do things like this for the features that will be used regularly and often. If it's slow, then determine if it's ASP.NET MVC or your design choices.

Someone could say that ASP.NET MVC is the worst framework for building large applications. But, you don't know if the reason it's slow is because if ASP.NET MVC or that person's decision choices. On the other hand someone could say it is suitable for large applications, but you don't know how they designed their application and you could still make bad choices and you end up with a slow application.

Only you can really decide if a framework is suitable for your application and your design choices.