.NET Framework (pronounced dot net) is a software framework
developed by Microsoft that runs primarily on Microsoft Windows. and if you want to run the .Net Framework on Linux or Mac
OS, then you have to use Mono, which is an open-source version of the .NET
Framework (including a C# compiler).
It includes a large library and
provides language interoperability (each language can use code written in other
languages) across several programming languages. Programs written for .NET
Framework execute in a software environment (as contrasted to hardware
environment), known as the Common Language Runtime (CLR), an application
virtual machine that provides services such as security, memory management, and
exception handling. The class library and the CLR together constitute .NET
Framework.
.NET Framework's Base Class Library provides user interface,
data access, database connectivity, cryptography, web application development,
numeric algorithms, and network communications. Programmers produce software by
combining their own source code with .NET Framework and other libraries. .NET
Framework is intended to be used by most new applications created for the
Windows platform. Microsoft also produces an integrated development environment
largely for .NET software called Visual Studio.
In Other words,.Net framework has two main
components:
(i) CLR (Common Language Runtime): The .Net framework provides a runtime environment called
the Common Language Runtime. CLR takes care of the execution of code and other
services such as memory management, security, thread management, code
verification, compilation etc.
CLS and CTS are the parts of CLR.
CLS (Common Language Specification): CLS defines the rules required for any language to
interoperate with other CLS- complaint languages. In simple words, CLS defines
the guidelines for languages to follow so that they can communicate with each
other. By using CLS, different parts of a program can be written in different
languages such as vb.net, c#.net.
CTS (Common Type System): .Net framework supports multiple languages and different
languages define their primitives data types in different formats. Microsoft
tries to convert these data types into a generic data types so that different
codes written in different languages are converted into language independent
code. For example: C# defines an integer variable as int i=10; where as VB.Net
defines an integer variable as Dim i as Integer =10 but their CTS type is
Int32.
(ii) FCL (Framework Class Library): FCL is the class library which is used for performing
common functionality like string manipulation, IO operations, threading,
Security, Data Access, Mail, Reflection, Collections ,Generics etc.
Design features
Interoperability
Because computer
systems commonly require interaction between newer and older applications, .NET
Framework provides means to access functionality implemented in newer and older
programs that execute outside .NET environment. Access to COM components is
provided in the System.Runtime.InteropServices and System.EnterpriseServices
namespaces of the framework; access to other functionality is achieved using
the P/Invoke feature.
Common Language Runtime engine
The Common
Language Runtime (CLR) serves as the execution engine of .NET Framework. All
.NET programs execute under the supervision of the CLR, guaranteeing certain
properties and behaviors in the areas of memory management, security, and
exception handling.
Language independence
.NET Framework
introduces a Common Type System, or CTS. The CTS specification defines all
possible datatypes and programming constructs supported by the CLR and how they
may or may not interact with each other conforming to the Common Language
Infrastructure (CLI) specification. Because of this feature, .NET Framework
supports the exchange of types and object instances between libraries and
applications written using any conforming .NET language.
Base Class Library
The Base Class Library
(BCL), part of the Framework Class Library (FCL), is a library of functionality
available to all languages using .NET Framework. The BCL provides classes that
encapsulate a number of common functions, including file reading and writing,
graphic rendering, database interaction, XML document manipulation, and so on.
It consists of classes, interfaces of reusable types that integrates with
CLR(Common Language Runtime).
Simplified deployment
.NET Framework
includes design features and tools which help manage the installation of
computer software to ensure it does not interfere with previously installed
software, and it conforms to security requirements.
Security
The design
addresses some of the vulnerabilities, such as buffer overflows, which have
been exploited by malicious software. Additionally, .NET provides a common
security model for all applications.
Portability
While Microsoft
has never implemented the full framework on any system except Microsoft
Windows, it has engineered the framework to be platform-agnostic,[3] and
cross-platform implementations are available for other operating systems (see
Silverlight and the Alternative implementations section below). Microsoft
submitted the specifications for the Common Language Infrastructure (which
includes the core class libraries, Common Type System, and the Common
Intermediate Language),the C# language,[7] and the C++/CLI
language to both ECMA and the ISO, making them available as official
standards. This makes it possible for third parties to create compatible
implementations of the framework and its languages on other platforms.
Microsoft started development of .NET Framework in the late
1990s, originally under the name of Next Generation Windows Services (NGWS). By
late 2000 the first beta versions of .NET 1.0 were released.
Version 3.0 of .NET Framework is included with Windows
Server 2008 and Windows Vista. Version 3.5 is included with Windows 7 and
Windows Server 2008 R2, and can also be installed on Windows XP and Windows
Server 2003.[2] On 12 April 2010, .NET Framework 4 was released alongside
Visual Studio 2010.
Types of JIT Complier:
·
Pre-JIT COMPILER
Pre-JIT compiles complete source code into native code in a single compilation cycle. This is done at the time of deployment of the application.
Pre-JIT compiles complete source code into native code in a single compilation cycle. This is done at the time of deployment of the application.
·
Econo-JIT COMPILER:
Econo-JIT compiles only those methods that are called at runtime. However, these compiled methods are removed when they are not required.
Econo-JIT compiles only those methods that are called at runtime. However, these compiled methods are removed when they are not required.
· Normal-JIT
COMPILER:
Normal-JIT compiles only those methods that are called at runtime. These methods are compiled the first time they are called, and then they are stored in cache. When the same methods are called again, the compiled code from cache is used for execution.
These methods are compiled the first time they are called, and then they are stored in cache. When the same methods are called again, the compiled code from cache is used for execution.
Normal-JIT compiles only those methods that are called at runtime. These methods are compiled the first time they are called, and then they are stored in cache. When the same methods are called again, the compiled code from cache is used for execution.
These methods are compiled the first time they are called, and then they are stored in cache. When the same methods are called again, the compiled code from cache is used for execution.
.NET Framework Version History
.NET Version
Introduced with IDE
Features Detail
4.5.1
Visual Studio 2013
- Includes performance and debugging improvements
- Support for automatic binding redirection
- Expanded support for Windows Store apps
4.5
Visual Studio 2012
- Features Enhancements to CLR 4.0
- Async Support
- Support for building Windows Store apps
- Features Enhancement to WPF, WCF, WF, and ASP.NET
4.0
Visual Studio 2010
- Introduced CLR 4.0
- Managed Extensibility Framework (MEF)
- Dynamic Language Runtime (DLR)
- Task Parallel Library
3.5
Visual Studio 2008
- Built-In AJAX Support
- LINQ
- Dynamic Data
- Multi-targeting Framework Support
3.0
Visual Studio 2005
- Windows Presentation Foundation (WPF)
- Windows Communications Foundation (WCF)
- Windows Workflow Foundation (WF), and CardSpace
2.0
Visual Studio 2005
- Introduced CLR 2.0
- Generics and generic collections
- Partial classes
- Nullable types
- Anonymous methods
- Introduced many new controls and features to ASP.NET
1.1
Visual Studio .NET 2003
- Features Enhancement to ASP.NET and ADO.NET
- Built-in support for mobile ASP.NET controls
- Security Enhancement
- Built-in support for ODBC and databases
- Internet Protocol version 6 (IPv6) support
1.0
Visual Studio .NET
- Introduced CLR 1.0
- Support for Object-oriented Web application development
- Use of DLL class libraries
No comments:
Post a Comment