Back to: C#.NET Tutorials For Beginners and Professionals
Introduction to DOT NET Framework
In this article, I am going to give you an overview of the DOT NET Framework. This is important for you as a .NET Developer to know the history and evolution of the .NET Framework. Here, in this article, 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 DOT 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’s Technologies. Using this technology, we can develop Windows applications as well as Web applications. In COM, VB is the programming language that is used to implement Windows applications and ASP is the technology used to implement Web applications.
What are the disadvantages of COM?
The major two disadvantages of COM 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, the DOT NET Framework comes into the picture.
What .NET Represents?
NET stands for Network Enabled Technology. 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.
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 is .NET Framework?
According to Microsoft, .NET Framework is a software development framework for building and running applications on Windows. The .NET Framework is part of the .NET platform, a collection of technologies for building apps for Linux, macOS, Windows, iOS, Android, and more.
Different Types of .NET Framework.
.NET is a developer platform made up of tools, programming languages, and libraries that are for building many different types of applications such as Desktop, Web, Mobile, etc. There are various implementations of .NET. Each implementation allows .NET code to execute in different places such as Linux, macOS, Windows, iOS, Android, and many more.
- .NET Framework is the original implementation of .NET. It supports running websites, services, desktop apps, and more on Windows.
- .NET 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.
- Xamarin/Mono is a .NET implementation for running apps on all the major mobile operating systems, including iOS and Android.
What does the .NET Framework Provide?
The two major components of the .NET Framework are the Common Language Runtime and the .NET Framework Class Library.
- CL (Class Libraries)
- CLR (Common Language Runtime)
.NET Framework Class Libraries:
The .NET Framework Class Libraries are designed by Microsoft. Without Class Libraries, we can’t write any code in .NET. So, Class Libraries are also known as the Building block of .NET Programs. These are installed into the machine when we installed the .NET framework. Class Libraries contains pre-defined classes and interfaces and these classes and interfaces are used for the purpose of application development. The Class Library also provides a set of APIs and types for common functionality. It provides types for strings, dates, numbers, etc.
Starting with the .NET Framework 4, the default location for the Global Assembly Cache is %windir%\Microsoft.NET\assembly. In earlier versions of the .NET Framework, the default location is %windir%\assembly.
Common Language Runtime (CLR):
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 and then provides the runtime environment to execute the code. That means Common Language Runtime (CLR) is the execution engine that handles running applications. It provides services like thread management, garbage collection, type safety, exception handling, and more. In our next article, 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 code 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.
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 DOTNET?
.NET is a framework tool that supports many programming languages and many technologies. .NET support 60+ programming languages. In 60+ programming languages, 9 are designed by Microsoft, and the remaining are designed by non-Microsoft. Microsoft-designed programming languages are as follows
- VB.NET
- C#.NET
- VC++.NET
- J#.NET
- F#.NET
- Jscript.NET
- WindowsPowerShell
- Iron phyton
- Iron Ruby
Technologies supported by the .NET framework are as follows
- ASP.NET (Active Server Pages.NET)
- ADO.NET (Active Data Object.NET)
- WCF (Windows Communication Foundation)
- WPF (Windows Presentation Foundation)
- WWF (Windows Workflow Foundation)
- AJAX (Asynchronous JavaScript and XML)
- LINQ (Language Integrated Query)
What is 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, and C#.NET both are programming languages. Using these two languages we can implement Windows/Desktop applications individually.
- Every language is having its own compiler
That’s it for today. In the next article, I am going to discuss the Common Language Runtime (CLR) in .NET Framework. Here, in this article, I try to give you an overview of the DOT NET Framework and I hope you enjoy this article.
Thank you so much for saving me from the terrible Microsoft documents.
Thank you for making it easy to understand something that generally explains it as complex as it really is. but for the beginner difficult to assimilate.
Thank you for making it easy to understand something that generally explains it as complex as it really is. but for the beginner difficult to assimilate.
thanks man superb explaintation
Very good, China lacks this kind of article, I think facing China hundreds of thousands. NET developers need this, can translate and reproduce the release? Because not everyone has a VPN, can not get such good knowledge content.
Thank you for sharing your knowledge.
In newer versions the GAC is now located in %windir%\Microsoft.NET\assembly.
VB.NET file extension is “.cls” not “.VB”
What is difference between BCL and FCL ?
Thank you for the good tutorials.
There should be a typo at the end of the following sentence:
“Always 1st compilation is slow and 2nd compilation is first.”
I suppose you mean “fast” instead of “first”?
Hi,
You are right. We have rectified the typo error.
Thank You to make it easy!
When I compile my C# code, I found, there are many related files is generated by VS2019 IDE, such as, sln, cproj, etc.. So, I don’t know what the significance of these, and I want to know about what is reasonable on project code strcuture, include modules, services, and library, etc. Therefore, I think, it is necessary to issue a tutorial about Project Instance based on Visual Studio. I hear this IDE is very powerful, but it is very complex anyway. Thanks
Yes i am very interesting in learnig .NET
I am very Searching of .NET