Introduction to ASP.NET
ASP.NET is a web application framework designed and developed by Microsoft. ASP.NET is open source and a subset of the .NET Framework and successor of the classic ASP(Active Server Pages). With version 1.0 of the .NET Framework, it was first released in January 2002. So a question comes to mind that which technology we were using before the year 2002 for developing web applications and services? Answer is Classic ASP. So before .NET and ASP.NET there was Classic ASP.
ASP.NET is built on the CLR(Common Language Runtime) which allows the programmers to execute its code using any .NET language(C#, VB etc.). It is specially designed to work with HTTP and for web developers to create dynamic web pages, web applications, web sites, and web services as it provides a good integration of HTML, CSS, and JavaScript.
.NET Framework is used to create a variety of applications and services like Console, Web, and Windows, etc. But ASP.NET is only used to create web applications and web services. That’s why we termed ASP.NET as a subset of the .NET Framework.
Below table illustrates the ASP.NET Versions History:
Year | Version |
---|---|
2002 | 1.0 |
2003 | 1.1 |
2005 | 2.0 |
2006 | 3.0 |
2007 | 3.5 |
2008 | 3.5 SP 1 |
2010 | 4.0 |
2012 | 4.5 |
2013 | 4.5.1 |
2014 | 4.5.2 |
2015 | 4.6 |
2015 | 4.6.1 |
2016 | 4.6.2 |
2017 | 4.7 |
2017 | 4.7.1 |
Note: In the year 2015, the version 5 RC1 came and later this gets separated from the ASP.NET and turns into a new project called ASP.NET Core Version 1.0 with some advancement.
What is Web Application?
A web application is an application installed only on the web server which is accessed by the users using a web browser like Microsoft Internet Explorer, Google Chrome, Mozilla FireFox, Apple Safari, etc. There are also some other technology like Java, PHP, Perl, Ruby on Rails, etc. which can be used to develop web applications. Web applications provide the cross-platform feature. The user needs only a web browser to access a web application. The web applications which are developed using the .NET framework or its subsets required to execute under the Microsoft Internet Information Services(IIS) on the server side. The work of IIS is to provide the web application’s generated HTML code result to the client browser which initiates the request as shown in the below diagram.
Don’t confuse in the terms ASP.NET, ASP.NET core, ASP.NET MVC, etc. ASP(Active Server Pages) supports a lot of development models which are as follows:
- Classic ASP: It is the first server side scripting language developed by Microsoft.
- ASP.NET: It is web development framework and successor of Classic ASP. ASP.NET 4.6 is the latest version.
- ASP.NET Core: In November 2015, Microsoft released the 5.0 version of ASP.NET which get separated later and known as ASP.NET Core. Also, it is considered as an important redesign of ASP.NET with the feature of open-source and cross-platform. Before this version, ASP.NET is only considered as Windows-only version.
- ASP.NET Web Forms: These are the event-driven application model which are not considered a part of the new ASP.NET Core. These are used to provide the server-side events and controls to develop a web application.
- ASP.NET MVC: It is the Model-View-Controller application model which can be merged with the new ASP.NET Core. It is used to build dynamic websites as it provides fast development.
- ASP.NET Web Pages: These are the single page application which can be merged into ASP.NET Core.
- ASP.NET API: It is the Web Application Programming Interface(API).
Also, to create web applications ASP.NET provide the 3 development styles which are ASP.NET Web Pages, ASP.NET MVC, Web Forms.
Why ASP.NET?
There are a lot of reasons which makes the ASP.NET popular among the developers. Some of the reasons are listed below:
Extending .NET Framework: ASP.NET is a subset of .NET Framework as it extends the .NET Framework with some libraries and tools to develop web apps. The thing that it adds to the .NET Framework is Libraries for common web patterns like MVC, Editor Extensions, the base framework to process the web requests, and web-page templating syntax like Razor, etc.
Performance: It is faster than the other web frameworks available in the market.
Backend Code: With the help of ASP.NET you can write the backend code for data access and any logic in C#.
Dynamic Pages: In ASP.NET, Razor provides the syntax for developing the dynamic web pages with the help of C# and HTML. ASP.NET can be integrated with JS(JavaScript) and it also includes the frameworks like React and Angular for the SPA(Single Page Application.)
Supporting different OS: You can develop and execute ASP.NET apps on Windows, Linux, Docker, and MacOS. The Visual Studio provides the tools to build .NET apps different OS.