What is .NET?

By Cesar Contreras

In the late 1990s, the tech behemoth known as Microsoft decided to create their own framework .NET. Originally named the Next Generation Windows Services (NGWS), it was conceived in order to create applications running solely on the Windows Platform. This service was subsequently renamed .NET and the .NET framework saw its beta release in 2002.

.NET is a developer platform used to create many different applications. The .NET platform is a powerful framework that can work across platforms with several powerful tools to make it easy to use. It’s also built to give you flexibility by providing access to multiple language editors and libraries designed to work on the web, mobile, and desktop. Furthermore, .NET can even be adapted to work with all kinds of new emerging technologies.

You can write .NET apps in languages such as:

  • C#: a modern, object-oriented, and type-safe programming language
  • F#: a cross-platform, open-source programming language. Includes object-oriented and imperative programming
  • Visual Basic: an approachable language with a simple syntax for building type-safe, object-oriented apps

Whether you’re working in C#, F#, or Visual Basic, the .NET frameworks will efficiently handle the heavy lifting for you. The architecture of the .NET framework is based on these components:

1. Common Language Runtime

The “Common Language Infrastructure“,  the platform where .NET programs are executed provides memory management and other system services.

The .NET CLI possesses these key features:

Exception Handling: Exceptions are errors that occur when the application is executed.
Garbage Collection: Garbage collection is the process of removing unwanted resources when they are no longer required.
Language:  The first level is the programming language itself, with the most common ones being VB.NET and C#.

Various Languages: A developer has the ability and freedom to develop applications in a variety of .NET programming languages.
Compiler: .NET has a compiler which will be separate for each programming language For VB.NET, there is a separate VB.NET compiler and similarly for C#, there is also another separate compiler.
Common Language Interpreter: The final layer to .NET is used to run developed programs in any programming language. The compiler will send the program to the CLI layer to run the .NET application.

  1. Class Library

The .NET framework includes a set of standard class libraries. By definition, a class library is a collection of methods and functions that can be used for the core purpose. These class libraries serve as the foundation on which .NET framework applications, components, and controls are built on, which thus enables programmers to take advantage of robust and reliable code for all major areas of application development.

3. Development Platforms

The types of applications that can be built in the .NET framework can be broadly classified as the following:

WinForms: This displays in a graphical user interface. The API is mainly used for developing forms-based applications that run on the end user’s machine.

– MVC.NET: Used for developing complex but lightweight applications, MVC.NET provides an extensive pluggable framework that can be easily replaced and customized.

ASP.NET: A web development platform provided by Microsoft, ASP.NET is used for developing web-based applications that can run on any browser such as Internet Explorer, Chrome or Firefox.

ADO.NET: Short for ActiveX Data Object.NET, ADO.NET consists of software components that provide data access services. This technology is used to develop applications to interact with databases such as Oracle or Microsoft SQL Server. Microsoft always ensures that .NET frameworks are in compliance with all the supported Windows operating systems.

.NET Framework Design Principle

The following design principles of the .NET framework are what makes it relevant to create .NET based applications.

Interoperability: The .NET framework provides a lot of backward support. Suppose you had an application built on an older version of the .NET framework. We’ll use 2.0 for this example. If you tried to run this same application on a machine with a more recent version of the .NET framework like 3.5, the application would still work. This is because, with every release, Microsoft ensures that older framework versions gel well with the latest version.


Portability: Applications built on the .NET framework can be made to work on any Windows platform. In recent times, Microsoft has engineered its wide suite of products to work on other platforms like Macintosh and Linux.


Security: The .NET Framework has good security mechanisms. The built-in security mechanisms help in both validation and verification of applications. Every application can explicitly define its security mechanism. Each security mechanism is used to grant the user access to the code or to the running program.


Memory management: The Common Language runtime does all the work and memory management. The .NET framework has all the capabilities to see these resources, which are not used by a running program. It would then release those resources accordingly. This is done via a program called the “Garbage Collector”, which runs as part of the .NET framework. The garbage collector runs at regular intervals and routinely checks which system resources are not being utilized and frees them accordingly.

Simplified Deployment: The .NET framework also has tools which can be used to package applications built on the .NET framework. These packages can then be distributed to client machines. The packages are programmed to automatically install the application.

The .NET Framework is available on Windows System only. However, it is important to note that you can use .NET Core to run apps on Windows, MacOS, and Linux.

Summary

.NET is a programming framework developed by Microsoft. It was designed to build applications which could run on the Windows platform. The .NET programming framework can be used to develop forms-based applications, web-based applications, and web services. Developers can choose from a variety of programming languages available on the .NET framework.

Feel free to contact us with any questions or inquiries about the .NET Framework. Or if you want to send us an article. Email us at marketingadmin@advancio.com.

Sources:

  1. https://dotnet.microsoft.com/learn/dotnet/what-is-dotnet
  2. https://docs.microsoft.com/en-us/dotnet/standard/clr
  3. https://docs.microsoft.com/en-us/dotnet/visual-basic/getting-started/
  4. https://dotnet.microsoft.com/apps/aspnet