Decide if ASP.NET Web Forms, ASP.NET MVC, or ASP.NET Web Pages is right for you.
Asp.Net is flexible web platform that enables you to build great web applications using three different programming models. Those models are ASP.NET Web Forms,
All three of these programming models are fully supported options that are used by millions of developers.
Let’s take a Look at how these fit together and why there are three choices.
All these models build on top of the same core ASP.NET web platform.
<img alt=”ASP.NET” src=”http://mnaveed.files.wordpress.com/2013/03/aspnet.png?w=300” width=”300″ height=”37″ /></a> <br> <br> <h3>ASP.NET and its Programming Models</h3> Each model sits on top of ASP.NET and each model is ASP.NET at the same time, though, each model creates and structures a web application using slightly different approach just like people, each of the approaches different things.
So there is offer for these different approaches because some developers prefer one set of values, and other developers prefer another set of values.
All these programming models are good ones and solve real problems. But the programming model approach that is right for you depends on which feels most natural to you, and which set of values map to values you are looking for. <h3>What Does ASP.NET Web Forms Value?</h3> <ul> <li>Familiar Control and event-based programming model</li> <li>Controls encapsulate HTML, JS and CSS.</li> <li>Rich UI Controls included – datagrids, chart and AJAX.</li> <li>Browser Differences handled for you.</li> <li>SharePoint builds on Web Forms.</li> </ul> If you have experience of client application development or you are familiar with using UI controls and wiring up event handlers to respond to user actions, you will find a comfortable programming model ASP.NET Web Forms. ASP.NET Web Forms provides a server side web programming framework that enables you to use server side controls with in you HTML Markup. Server Controls in Web Forms encapsulates the complexities of HTML, JAVA Script and CSS. They also support rich features like data binding and Templating.
Web Forms includes dozens of rich user interface controls out of the box. You will be able to retrieve data from databases and wire up controls to display and edit data in datagrids and chart. The controls help you achieve common tasks Differences between browsers are handled by controls.
You may be familiar with SharePoint It builds on top of Web Forms. If you are SharePoint developer, or intend to be, that is another reason for you to use Web Forms. <h3>What Does ASP.NET MVC Value?</h3> <ul> <li>Feels comfortable for many traditional web developers.</li> <li>Total control of HTML Markup.</li> <li>Supports Unit Testing, TDD and agile methodologies.</li> <li>Encourage more prescriptive applications.</li> <li>Extremely flexible and extensible.</li> </ul> ASP.NET MVC is slightly lower level Web Programming model it does not provide higher level abstractions like controls but rather requires you to know HTML and HTTP a little more deeply.
Web Pages is also a powerfull tool you can use with in your Web Forms and MVC applications. You can add a Web Page here and there to augment your existing applications or extend them in new ways you perhaps had not thought of.
Remember that choosing your programming model is not a fork in the road that can’t turn back from underneath each of Web Forms, MVC and Web Page is ASP.NET itself. All models share nearly all of their libraries with the core runtime. This include Authentication and Authorization, User Membership, Role Security, Output Caching, Session State, Configuration, Deployment, AJAX and more. The Skills you and APIs you learn in these core libraries can be used interchangeably between Web Forms, MVC and Web Pages. Learn one, and you are well on your way to learning them all. Because it’s all ASP.NET underneath, you can also even choose to have “bybrid” applications that are built with any and all the programming models. It is up to you pick the right tool for the job. As an example, sometime programmers use Web Pages for rapid prototyping and then move to MVC. ASP.NET makes it all possible and gives you a lot of flexibility.