.NET (Pronounced as “dot net”) is a software development platform/technology and business strategy developed by Microsoft. .NET provides environment, tools and libraries to develop, build, run, deploy and manage application for both web and desktop.

As history says, Microsoft has begun developing .NET in late 1990s originally named as “Next Generation Windows Services (NGWS)”. By late 2000, beta version of .NET 1.0 was released.

.NET Framework

Basically .NET and Framework both words have different meaning.

In terms of Computer Science, A Software Framework is a universal, reusable software platform used to develop application. Software Framework includes programs, compilers, class libraries, an Application Programming Interface (API) and set of tools that together used to develop solution. .NET is a Microsoft developed technology as mentioned above.

Combining both, .NET Framework is a runtime execution environment for applications that develop, build and run under .NET platform. .NET Framework provides all the stuffs that needed to develop a complete solution. It consist of,

  • Languages (C#, VB.NET, F# etc…)
  • Common Language Specification
  • ASP.NET(Web Forms), Windows Forms and Web Services
  • ADO.NET and XML
  • Base Class Library (BCL)
  • Common Language Runtime (CLR)

Common Language Runtime (CLR)

CLR is an execution engine for .NET application written in any language that uses .NET Framework (such as C#, VB.NET, F# etc...) and also serves as a bridge between OS and .NET application.

Programmers write code in any languages supports by .NET, which compiles into MSIL (Microsoft Intermediate Language) and then CRL convert MSIL into machine code. While doing this stuff CLR also manages memory, thread execution, code execution, code safety verification, compilation, and other system services. To convert MSIL code to machine code CRL uses JIT (Just in Time) compiler.

Key features of CLR:

1. Memory management using Garbage collection: Garbage collection is the process of removing unwanted resources when they are no longer required. As a part of memory management Garbage Collector will automatically remove unwanted resources which has no longer requirement in application. For example, application is trying to fetch records from database and connection is not valid.

2. Exception handling: Exception is an error which occurs while application is executed. CLR shows proper error message if code has error like Syntax errors.

3. Thread Management: Provides multithreading support by .NET applications.

4. Security Engine: Enforces security restrictions to a .NET code, which executes when calling code.

5. Type checking: Performs strict data type checking for .NET programs.

Base Class Library

Base class library, sometime also call as Framework Class Library is a collection of reusable classes that are tightly integrated with CLR. Classes are collection of functions and data members (Variables) which will use for developing application. These libraries are organized in hierarchy of namespace. Most of the methods are split into either the System.* or Microsoft.* namespaces. So, we can say that root namespace of all class/namespace is “System” or “Microsoft” in .NET.

When creating an application in .NET, all the basic required namespaces would be included at top of the page with “using” keyword.

ADO.NET and XML

ADO.NET stands for Active Data Object and XML stands for Extensible Markup Language. Both technologies are used to work with database. It provides access to data sources like SQL Server, OLEDB and XML etc. It allows application to connect with database and retrieving, updating and manipulating data.

ASP.NET (Web Forms), Windows Forms and Web Services

ASP stands for “Active Server Pages”. ASP.NET is a part of .NET and it is used to develop Web based application, which would run on any browser having internet connection such as Internet Explorer, Google Chrome and Firefox etc.

Web based application can be run from anywhere by browser having internet access, no local installation for application is needed. The application resides on central server and request from user and response by server would be taken care by browser.

Windows forms are used to develop Form based application/Software, which runs on end user’s computer. This type of application needs to installed on end user’s computer and no internet connection is required to run application.

Web services are client and server applications that communicate over the World Wide Web (WWW) through Hypertext Transfer Protocol (HTTP). Web services provide a standard interface between software applications running on a variety of platforms and frameworks. Now a days, working with more than one platforms for single application, (For example, One can create application for both web and mobile “Android and iOS”) web service does the major role to communicate them with each other. To transfer data over WWW, web service uses the open standard format XMl and JSON.

Common Language Specification

CLS is the set of fundamental language features that is supported by .NET Framework. We can also say that it is set of rules and regulation which must follow by application written in language supported by .NET. Common Language Specification (CLS) ensures complete interoperability among applications, regardless of the language used to create the application.

CLS specifies the subset of CTS. CTS (Common Type System) provide guidelines for declaring, initializing, using and managing types at runtime.

Languages

.NET includes object-oriented programming languages such as C#, Visual Basic .NET, J#, C++ and F# etc...