The Microsoft .NET Framework is being used widely by developers across the world to build applications that can run on different operating systems. Along with Windows, the framework also supports a variety of non-Microsoft operating systems line Linux, Mac and Fedora. At the same time, it allows programmers to use the .NET API which includes a set of components and platform libraries. A developer can use the framework to develop desktop applications, web applications, websites, web services and distributed applications.
The OOP principles based framework allows programmers to build powerful applications by picking any of the 40 languages supported by it. Also, a developer can use the language integration features to avail a number of benefits like cross language inheritance and debugging. In comparison to other aspects of .NET, Common Language Runtime (CLR) and Class Library play a more significant role in boosting its performance and effectiveness of various types of applications. As a run-time environment, CLR makes the application development process easier by running the code along with providing relevant services.
On the other hand, the .NET Framework Class Library also contributes towards making the development process easier by allowing programmers to use a huge collation of types including classes, interfaces, structures, delegates and enumerations. These types are effective in encapsulating the functionality of the application services as well as the core system. So the two key aspects of .NET framework can make the application development process faster, simpler and hassle-free.
Common Language Runtime (CLR)
You can use tools and compilers to write code by availing the advantages of the managed execution environment. Your managed code written using a language compiler can avail a number of advantages including cross-language integration, cross-language exception handling as well as support for versioning and deployment. The CLS also provides you with a much simpler model for debugging, component interaction, and profiling services. However, your language compiler must generate the metadata required to enable the runtime.
The metadata describe some key elements of your code like types, members and references. As the metadata are stored with the code, the information can be included by the CLR in loadable portable execution (PF) files. Along with locating and loading classes, generating native code, and resolving method invocations, the CLR also use metadata for setting runtime context restrictions and enforcing security. The efficient code management further contributes towards better garbage collection to eliminate the memory leaks and common coding errors.
Many programmers also avail the advantages of CLS to design applications and components that can interact across different languages. Further, the objects written using distinct programming languages can easily communicate with each other. Also, you can make your application more powerful by integrating the behaviors of these components tightly. The language compilers and tools use a common type system defined by the Common Language Runtime. They create, use and bind new types to the existing types by following the rules set by the runtime. The features further make CLR more effective in boosting the performance of your application or web services.
.NET Framework Class Library
Regardless of the nature of your application, you have options to avail the advantages of class libraries. The .NET Framework Class Library can be described as an extensive collection of reusable types that can be integrated with the Common Language Runtime tightly. As the class library is object oriented, your managed code can avail specific types to get certain functionality. The feature makes it easier for you to use .NET Framework types, along with integrating third-party components with the framework classes.
Also, the feature enables you to avail the advantages of .NET framework without learning any additional or new features. For instance, you can easily develop your own classes using the interfaces implemented by .NET Framework collection classes. The classes created by you can be further integrated seamlessly with basic framework classes. Similar to other object-oriented class libraries, the .NET framework also allows you to enjoy several programming languages using these types.
Along with database connectivity, data collection, object serialization, and file access, you can also use the .NET Framework types to perform some common tasks like string management. At the same time, you can also use a variety of types included in the class library to complement the requirements of your application development project. If you are planning to develop application using XML, it becomes essential to use the System.XML namespace which is also a .NET framework class library. As class libraries are compiled into DLLs by the framework, the System.XML class library will exist as part of the System.XML.dll file.
In addition to these two key components of .NET Application development framework, a developer also needs to understand the Common Types System (CTS) specification. The specification describes the data types and programming constructs supported by the Common Language Runtime.
2 Most Crucial Aspects of ASP.NET Framework