Introduction to .NET Framework
Here, I am going to give you an overview of the DOT NET Framework. This is important for you as a dot net developer to know the history and evolution of the DOT NET Framework. Here, in this session, first, we will discuss what was there before the .NET Framework and what problems we face in that, and how we overcome all those problems in the .NET Framework. Before DOT NET Framework COM is there. So, let us first discuss what is COM and what problems we face in COM.
What is COM?
COM stands for Component Object Model. The COM is one of Microsoft Framework. Using this Framework, we can develop windows applications as well as web applications. In earlier COM, VB is the programming language that is used to implement windows applications, and ASP technology is used to implement web applications.
For more info: https://en.wikipedia.org/wiki/Component_Object_Model
What are the disadvantages of COM?
The major two disadvantages of COM Framework. They are as follows:
- Incomplete Object-Oriented programming means it will not support all the features of OOPs.
- Platform dependent means COM applications can run on only Windows OS.
To overcome the above problems, Microsoft introduces .NET Framework.
What does .NET Represent?
NET stands for Network Enabled Technology (Internet). In .NET, dot (.) refers to Object-Oriented, and NET refers to the internet. So, the complete .NET means through Object-Oriented we can implement internet-based applications.
So, .NET is a free, cross-platform, open-source developer platform for building many different types of applications. With .NET, we can use multiple languages, editors, and libraries to build for web, mobile, desktop, games, IoT, and more.
What is a Framework?
A framework is a software. Or you can say a framework is a collection of many small technologies integrated together to develop applications that can be executed anywhere.
What does the .NET Framework Provide?
The DOT NET Framework provides two things as follows
- BCL (Base Class Libraries)
- CLR (Common Language Runtime)
Base Class Libraries (BCL) is designed by Microsoft. Without BCL we can’t write any code in .NET. So, BCL is also known as the basic building block of .NET Programs. These are installed into the machine when we installed the .NET framework. BCL contains pre-defined classes and these classes are used for the purpose of application development.
The physical location of BCL is C:\Windows\assembly
CLR stands for Common Language Runtime and it is the core component under the .NET framework which is responsible for converting the MSIL (Microsoft Intermediate Language) code into native code. In our CLR session, we will discuss CLR in detail.
In the .NET framework, the code is compiled twice.
- In the 1st compilation, the source code is compiled by the respective language compiler and generates the intermediate code which is known as MSIL (Microsoft Intermediate Language) or IL (Intermediate language code), or Managed Code.
- In the 2nd compilation, MSIL is converted into Native code (native code means code specific to the Operating system so that the code is executed by the Operating System) and this is done by CLR.
Always 1st compilation is slow and 2nd compilation is fast.
What is JIT?
JIT stands for the Just-in-Time compiler. It is the component of CLR that is responsible for converting MSIL code into Native Code. Native code is the code that is directly understandable by the operating system.
Different types of .NET Framework
The .NET framework is available in three different flavors
- .NET Framework: .NET Framework is the original implementation of .NET. It supports running websites, services, desktop apps, and more on Windows.
- .NET/.NET Core: .NET or .NET Core is a cross-platform implementation for running websites, services, and console apps on Windows, Linux, and macOS. .NET is Open Source on GitHub .NET was previously called .NET Core.
- .NET Mono Framework: Xamarin/Mono is a .NET implementation for running apps on all the major mobile operating systems, including iOS and Android.
Note: .NET Framework is platform-dependent while .NET or .NET Core is platform independent. Here, we are not talking about Web Applications. Web Applications are independent of Operating systems.
What is not .NET?
- .NET is not an Operating system.
- It is not an application or package.
- .NET is not a database
- It is not an ERP application.
- .NET is not a Testing Tool.
- It is not a programming language.
What is Exactly .NET?
.NET is a framework tool that supports many programming languages and many technologies. .NET support 60+ programming languages. Of 60+ programming languages, 9 are designed by Microsoft and the remaining are designed by non-Microsoft.
Microsoft-designed programming languages are as follows:
- Iron phyton
- Iron Ruby
Technologies supported by the .NET framework are as follows
- ASP.NET (Active Server Pages.NET) – MVC, Web API, Core MVC, Core Web API, Core Blazor, etc.
- ADO.NET (Active Data Object.NET)
- WCF (Windows Communication Foundation)
- WPF (Windows Presentation Foundation)
- WWF (Windows Workflow Foundation)
- LINQ (Language Integrated Query)
- Entity Framework
What are a Language and its need?
- Language acts as the mediator between the programmer and the system.
- It offers some rules and regulations for writing the program.
- The language also offers some libraries which are required for writing the program.
What are Technology and its Needs?
Technology is always designed for a particular purpose. For example, the development of web-related applications in .NET using the technology ASP.NET. But the technology does not offer any specific rules for writing the programs. That’s why technology can’t be implemented individually. VB.NET, C#.NET, and F#.NET are programming languages. Using any of these languages we can implement windows/desktop applications individually. Every language is having its own compiler
In the next article, I am going to discuss .NET Framework Architecture and Components. Here, in this article, I try to explain Introduction to .NET Framework, and I hope you enjoy this Introduction to .NET Framework article.