The .Net platform:
The Net platform is a development framework created by Microsoft to provide a new programming interface to Windows applications, by integrating many technologies. The first version of the .net platform was released in April 2003. However, the ideas behind.Net framework is to use a new strategy by enabling software as a service (SaaS).
The five main components of .Net Platform are Visual Studio .NET, .NET Enterprise Servers, .NET Framework, .NET Building Block Services, and Operating system on servers, at the top of the previous figure the bottom layer is the operation system (OS) such as windows XP, Windows Server and Windows CE . The second layer on top of the OS layer is group of specialized server products, the required to develop large scale business applications, such as BizTalk Server, Exchange Server and SQL Server . On the Top layer of the .NET is the development environment tool (IDE) Visual Studio, which is one of the best IDE on the development market, because of the feature that included in the visual studio make the development cycle easy to use. Also supporting many programming languages for example, C#.NET, VB.NET, F#, and more.
History of ASP.NET MVC
The first release of ASP.NET was in 2002, at a time Microsoft company was trying to protect its position with controlling the market of desktop application development. At the same time, Microsoft realized the thread of the internet revolution on their technologies .
The following figure 2 showing the technology stack as it is showing then.
Using asp.net web forms Microsoft tried to support both the statelessness Hypertext Transfer Protocol (HTTP), also support the uncommon Hypertext Mark-up Language (HTML) at that time by many developers, by modeling the user interface (UI) and the server-side control object . However, the huge support from Microsoft to build new technology to give the developer the ability to make web development just same as developing windows application, from this point Microsoft company opens a new door for the windows application developers called the world of web applications.
In General, the asp.net web form development as a principle was good, but the developer found it more complicated . Because of,
- View Stat weight: the actual amount of data transferring between the client and the server its was huge blocks, causing a slow loading for the web application.
- Page life cycle: the code to link the front end with back end code to handle the event is part of the page life cycle it was very accurate and complicated.
- Limited control over HTML: the ASP.net Server (IIS) is responsible to handle the rendering for the code, sometimes that causing failed to meet the standard HTML.
- Low testability: the approach of the design was in asp.net web form was tightly coupled was not fitting for the unit test tools, that cause big effort on the developers.
The consequence for the last issues in the classic asp.net made Microsoft the find solution, Will demonstrate the solution as we are explaining the history of asp.net.
 Steve Smith, 2018, Overview of ASP.NET Core MVC, Microsoft Corporation, [Online] Available at: https://docs.microsoft.com/en-us/aspnet/core/mvc/overview?view=aspnetcore-2.2 , [Accessed 01 May 2019].
 Hoang Lam, Thuan Thai, 2009, .Net Framework Essentials,3rd Edition, O’Reilly.