As hardware evolved as mainframe, mid-range, mini, micro, personal computers (PC), while miniaturizing the silicon chips and other computer parts, computer software evolved as operating systems, systems software, computer applications, files (to persistent data), databases, etc. After mainframe applications, there was an age of client server software with PowerBuilder-Sybase-Oracle-Visual Basic.
Later came the web applications, where a client computer communicates a request to a server computer and the server computer sends a response to the client computer, in the form of static HTML. The browser, like Netscape or Internet Explorer, captures this response and serves it as web page on the client computer. Though the web request-response is here, still the "forms-with-fields-and-buttons" or "PDF-or-word-report"....
With the advent of client-server and web technology, applications went from monolithic spaghetti-code software to 3-layer and later, n-tier applications. Computer application code became structured and modular, functional, distributed (COM, D-COM and remoting), object-oriented to these days service-oriented web service-based applications.
All these days, Microsoft was walking hand-in-hand with other technology vendors, leading in some innovation and following in some. Microsoft was a large part of this entire IT revolution. Microsoft technology coding practices evolved from MS-DOS, Q-BASIC, MS Windows, client-server oriented Visual Basic, Visual C++ and application-friendlier COM components, and ActiveX. With the web era, Microsoft introduced server-side script (VB Script) and client-side (browser) (JavaScript)-based ASP (Active Server Pages). Until this point, the concept of .NET and the .NET framework was not in the picture. HTML pages were static and an attempt was made to introduce dynamic content (for server-side and client-side validations, custom processing, database handling, third-party component handling) with ASP (Active Server Pages)-based systems.
Microsoft thought of a better way with the introduction of .NET-based languages and the .NET framework. Here, Microsoft tried to generalize between the commonality between their various software products like coding languages (VB, .NET, C#, etc.),MS Windows, Microsoft Office, MS SQL Server databases and other products. These common components were introduced as the .NET Framework. The framework had a common language run-time, memory management (Garbage Collector), error handling (EXCEPTIONS), database handling block using ADO.NET and so on....
With Microsoft .NET, the dynamic web content handling became easier and the Microsoft world of web became more programmable with use of reusable and redistributable web components and systems (building blocks). The .NET framework was the core part of all Microsoft products. Data became more accessible. Forms and user interfaces became more friendlier. There is Microsoft Practices and Patterns guidance to the computer world, in designing, development, implementing, unit testing, archiving, etc.; the entire Software Development Life Cycle of the IT universe.