Sunday, May 25, 2014

Describe some of the pros and cons of ASP.NET MVC.

ASP.NET MVC advantages:
- Separation of concers (Soc): From a technical standpoint, the organization of code within MVC is very clear, organized and granular, making it easier for a web application to scale in terms of functionality. Promotes great design from a development standpoint.
- Eaiser integration with client side tools: More than ever, web applications are increasingly becoming as rich as the applications you see on your desktops. With MVC, it gives you the ability to integrate with such toolkits e.g. jQuery with greater ease and more seamless than in WebForms.
- Search Engine Optimization: URL's are more friendly to search engines. MVC is stateless, so this removes the headache of users who spawn multiple web browsers from the same window (session collisions).
- Works well with developers who need high degree of control: Many controls in ASP.NET web forms automatically generate much of the raw HTML you see when an page is rendered. This can cause headaches for developers. With MVC, it lends itself better towards having complete control with what is rendered and there are no surprises. Even more important, is that the HTML forms typically are much smaller than the Web forms which can equate to a performance boost - something to seriously consider.
- Test Driven Development (TDD) With MVC, you can more easily create tests for the web side of things. An additional layer of testing will provide yet another layer of defense against unexpected behavior.

ASP.NET disadvantages:
Complexity:
The MVC pattern introduces new levels of indirenction so increases the complexity of the solution.
It also increases the event-driven nature of the user-interface code, which can become more difficult to debug.
Cost of frequest updates:
Developers cannot completely ignore the view of the model even if they are decoupled. If the model undergoes frequest changes, the view could be flooded with update requests. Views like graphical displays may take some time to render. As a result, the view may fall behind update requests.

No comments:

Post a Comment