The .NET framework is a new computing platform that simply files application development.
The major design goal are-
1. It support platform independent that is a program written to use the framework should run without change on any type of computer for which the framework is implemented. At present Microsoft has implemented the full framework only. Windows OS (NT based platform) but Microsoft also developed non Microsoft .NET implementation like mono.
2. Provides a single integrated development environment(IDE) that can be accessible by any .NET language(c#,vb.NET, Jscript.NET, visual J#(Microsoft java called J++ with previous version studio) etc)
3. Introduction of a managed code developed using .NET are not compiled to machine language (like C++) but instead to a format called Microsoft Intermediate Language (MSIL) or common intermediate language (CIL). When as MSIL application is executed it is again compiled (by just in time compiler) while begin executed for the platform (H/W) it is begin executed on, their by making code portable across several platform. Program into MSIL can be executed only on platform which have an implementation on common language infrastructure via .NET framework.
The .NET framework 1.0 is the initial version. It is available on its own as a redistributable package or in a software development kit (SDK). It is first released Microsoft visual studio .NET 2000. MS has provided to miner upgrades with several maintenance release (knows as service packs).
.NET framework 101 is the first major .NET framework upgrade, released April 2003, with build in support for developing for programs for mobile devices. This is the first .NET version to be includes a part of the windows server 2003.
.NET framework 2.0 released with visual studio .NET 2005, Microsoft SQL server 2005.
.NET framework 3.0 is an integral part of the windows vista, windows server “long horn” as well as available for windows XP service pack 2 and windows server 2003.
Layered architecture of .NET Framework
The .NET framework is designed to fill field the fallowing objectives-
1. To provide a consistence object oriented programming environment whether object code is stored and executed remotely.
2. To provide a code execution environment that minimizes s/w development and versioning conflict.
3. To provide a code execution environment that granites safe execution of code, including code created by an unknown or some trusted third party.
4. To provide a code execution environment that eliminate the performance problem of scripting of on interpreted environments.
5. To make the developer experience consistency across widely version type of application.
6. To build all communication on industry standards to insure that code based on the .NET framework can integrate with any other code.
We can use the .NET framework to develop the following type of application and services.
- Console Application
- Scripted on hosted application
- Windows GUI Application (Windows Forms)
- Asp.NET Application
- Windows services
.NET Framework Terminology and core concepts:-
The .NET framework is a multi language environment for bindings, deploying, and running application and xml web services.
It consists of three main parts:-
1. Common Language Runtime (CLR)
2. Base Class Library (BCL)
.NET Framework in Context
Code that a target the runtime is knows as manage cod. The code that does not target the runtime is known as unmanaged code.
CLR in .net framework
The most important component of .NET Framework is CLR (Common Language Runtime). The purpose of the CLR is to provide a language- agnostic platform for application of five primary parts:-
1. Common Type System (CTS).
2. Common Language Specification (CLS).
3. Common Intermediate Language (CIL) or Microsoft Intermediate Language (MSIL).
4. Just in time Compiler (JIT).
5. Virtual Execution System (VES).
The CLR manages memory, threat execution, and code execution softly verification, compilation (common concept) and other system services for managed code. The code that runs within the CLR runs in an encapsulation and managed environment, separate from other process on the machine.
The runtime enforce code compactness by implementing a strict type and code verification infrastructure called the CTS. CTS are a universal type system for .NET framework. In addition to defining all types the CTS also stipulates the rules that the CLR fallows with regard to application declaring and using these types in the world of .NET everything in the CTS is an object. In fact, not only is everything an object but even more importantly all object, implicitly derived from a single base class defined as part of CTS. This base class called system object.
CLS ensures seamless inter operability between CLS complaint Language and class Libraries. Because the same .NET base class libraries shared between all programming languages. A developer can take his or her knowledge of this library with him as he or she migrates from language to language. Thus run time accelerate development language of chaise yet take full advantage of runtime. Class library component written in other language other developers.
All .NET programs are compiled to an intermediate language MSIL files, rather than to native code which can be understood by the computers processor. This MSIL code is then compiler to native code either when the application is installed or when the application is run, which is then executed by the machine processor since managed code is neighbor interpreted, thus run time enhance performance finally the runtime can be hosted by high performance server side applications such as Microsoft SQL server and internet information services (IIS)
This infrastructure enables us to use managed code to write our business logic while still enjoying the superior performance of the industry’s best enterprise server that support runtime hosting.
Base Class Library:-
The BCL sometime incorrectly reflected to as the framework class library which a super set including the Microsoft. * Name spaces are a library of types available to all language using the .NET framework.
The BCL provides classes which encapsulate the number of common function such as file reading and data base introduction XML document manipulation and so on.
The BCL is much larger than other libraries and has much more functionality in one package.
In edition third party component can integral classes in .net framework. E.g. the .NET collection classes implement a set of interfaces that we can use to develop our own collection classes with blend with the classes in the .NET framework.
ASP.NET is the hosting environment that enables developer to use the .NET framework target web based application. However ASP.NET is more than just a runtime host, it is a complete architecture form and internet distributed objects using managed code both web. Forms and XML web services use IIS & ASP.NET as the publishing mechanism for application and both have a collection of supporting class in .NET framework.
ASP.NET built on the programming classes of the .NET framework proving classes of the .NET framework providing a web application model with a set of control and infrastructure that make it simple to ASP, web application.