MVC vs Web forms
Below table explains about the difference between web application creating using Asp.Net MVC and Web Forms.
Asp.Net Web Forms | Asp.Net MVC |
---|---|
It use old Event driven development model. | If follows MVC (Model, View, Controller) pattern based development model |
It uses Page controller pattern approach for rendering layout. In this approach, every page has its own controller, i.e., code-behind file that processes the request. | It uses Front Controller approach. That approach means a common controller for all pages processes the requests. |
Here each page has its own code behind file. So it is tightly integrated and usually require less code than the MVC model | Loosely coupled application development, where all the components are separated (Model, View and Controller). |
No separation of concerns, applications is tightly coupled | All components are separated and it works purely on Separation of Concerns. |
Unit testing the code behind file is very difficult because of tightly coupled code. | Better support for test-driven development (TDD). It is one of main feature of MVC. |
Uses view state or server-based forms to managing state information easier | Asp.net MVC approach is a stateless, so there is no state management techniques. |
WebForms model follows a Page Life cycle and it is complex | Request cycle for the MVC application is very simple |
It has server controls, so developer need only less knowledge on HTML, JavaScript and CSS | Here you need more knowledge on HTML, JavaScript and CSS. It has full control over HTML and it has HTML helpers |
It follows file (web page) based URL. User has to specify the file name in the url to render the page | It follows routed-based URL. User has to specify the controller and action name to render the view. Similar to REST based processing. |
Web forms uses Master page for consistent look and feel in entire web application | MVC uses Layout for consistent look and feel |
It has User control for code re-usability | It has Partial Views for code re-usability |
Works well for small teams of Web developers and designers who follows rapid application development | Works well for Web applications that are supported by large teams of developers and Web designers who need a high degree of control over the application behavior |
It is not Open source | It is Open source |
No comments:
Post a Comment