The .NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the Internet. The .NET Framework is designed to accomplish the following objectives:
The .NET Framework has two main components: the Common Language Runtime (CLR) and the .NET Framework class library. The first component, the CLR, is the foundation of the .NET Framework. You can think of CLR as an agent that manages code at execution time, providing core services such as memory management, thread management, and remoting, while also helping to enforce strict safety and accuracy of the code. In fact, the concept of code management is a fundamental principle of CLR. Code that targets CLR is known as "managed code," while code that does not is known as "unmanaged code."
The other main component of the .NET Framework, the class library, is a comprehensive, object-oriented collection of reusable types that you can employ to develop applications. These applications range from traditional command-line or graphical user interface (GUI) applications to those that are based on the latest innovations provided by Microsoft Active Server Pages for the .NET Framework (ASP.NET), such as Web Forms. Other applications include Extensible Markup Language (XML) Web services, Microsoft ActiveX Data Objects for the .NET Frame-work (ADO.NET), and Microsoft Windows Forms. Figure 19-1 illustrates the basic architecture of the .NET Framework.
Figure 19.1 - NET Framework architecture.