ASP.NET is a server-side web application framework designed by Microsoft as part of .NET Framework for web development to produce dynamic web sites, web applications and web services. Actually, Microsoft defines ASP.NET as "web development model", which offers three approaches for creating web applications: ASP.NET Web Forms, ASP.NET MVC, and ASP.NET Web Pages.
Each approach targets a different audience or type of application:
- The Web Forms framework targets developers who prefer declarative and control-based programming, such as Microsoft Windows Forms (WinForms) and WPF/XAML/Silverlight.
- ASP.NET MVC targets developers who are interested in patterns and principles like test-driven development, separation of concerns, inversion of control (IoC), and dependency injection (DI).
- ASP.NET Web Pages targets developers who want a simple web development story. In the Web Pages model, you create HTML pages and then add server-based code right to the page in order to dynamically control how that markup is rendered.
In the next ASP.NET release (at the time of January 2015) ASP.NET MVC, ASP.NET Web API and Web Pages will be merged into one framework, called MVC 6, so we can say there are two frameworks ASP.NET can offer: MVC and WebForms.
Along with this two frameworks there are a lot of components and extension from Microsoft and third-parties, which could be plugged in into them to extend their functionality. All of this can be considered as powerful platform for creating web applications, which covers such things as:
- Work with HTTP protocol and HTTP request handling
- Authentication and authorization
- Dynamic building of HTML markup
- Caching and other concerns
- ASP.NET is a server-side framework for web development to produce dynamic web sites, web applications and web services.
- ASP.NET offers different approaches for creating web applications: ASP.NET Web Forms and ASP.NET MVC.
- ASP.NET frameworks takes care for a lot of common concerns in web development such as authorization, authentication, security, caching, dynamic building of web pages and others.