The .NET Framework is a special technology for running various web services and building applications on the Windows operating system. So we are told by an official Microsoft source .
What all this means for a programmer and an ordinary user – let’s figure it out in today’s article.
What is .NET?
The first release of the .Net Framework took place back in 2002. Then the platform was developed as an alternative to Java. The main difference between .Net was that the platform was officially designed to work with operating systems of the Microsoft Windows family.
It’s been over 20 years, but .Net is still popular despite the fact that there are new generation platforms like .Net Core. Today, .Net allows you to use the same namespaces, libraries, and APIs for different languages:
- Visual Basic;
- Visual C++;
When a programmer creates a program in one of these languages, the first thing he needs to do is include the System. This allows you to organize the program code into logical blocks, combine and separate some functionality from the rest of the code. If there were no .Net, then we would have to create a separate System for each programming language, and this would already violate one of the main principles of programming: “Do not repeat yourself.”
Why is .NET needed?
At first glance, it may seem that .Net is a technology that affects only programmers, but in reality it is not. It also affects the user experience.
Suppose we need to install a program that was written in the C# programming language. It will also require the C# environment to be installed. If we need a program in another language, then we need to install a different environment for it, and so with all languages.
.Net allows you not to install a separate environment for each program. Thus, not only the installation time is reduced, but the hard drive will not be clogged with extra copies of slightly different libraries.
If we talk about programmers, then the .Net framework allows you to significantly reduce development time and resources. With it, you can develop one environment and use it for several languages.
Developers who know different languages can write a common software product for a specific .NET platform. You can learn full stack developer course online from various sources. The elements of this product, written in different languages, will be able to communicate with each other without any problems. This also explains why the .NET community is so large and diverse.
In addition to the main languages, the framework supports several dozen other languages - these are Delphi, Cobra, Oxygene and others. You can find a complete list on Wikipedia .
How does .Net work?
The principle of operation of .Net is quite simple, it is enough to understand the concepts of CLI, CIL and CLR.
CLI (from the English Common Language Infrastructure – common language infrastructure) – defines the architecture of the .NET executive system.
With such an infrastructure, each language has its own compiler, but programs are not compiled into native code, but into intermediate CIL bytecode. If we write a small program that displays the inscription “Hello, World” in different languages, then as a result it will be formed into an intermediate bytecode.
When we run such a program, its bytecode will be transferred to the Common Language Runtime (CLR). There it is already compiled into native code and starts to run.
Java virtual machines work in a similar way, but .Net is much faster and can be used on personal PCs, and not just on servers.
Where is .NET used?
The range of products that developers are working on is quite extensive. Consider the most popular areas where .Net technology is used.
Web applications are one of the common groups of applications that are written under .Net. The peculiarity lies in the fact that such applications work through a browser and require a stable Internet connection.
This may include simple one-page sites, but most often these are large-scale projects that require a lot of effort. For example, Stack Overflow is a site known to every developer.
To write web applications for .Net, you need to know C #, as well as own the ASP.NET MVC framework. In addition, you need to understand what a client / server is, how the HTTP protocol works, how REST works.
Client applications are products that run on personal computers and mobile devices.
Windows applications such as notepad and calculator have been developed using .NET. But this is only a small part of what can be done on .Net. For example, the technology has been used in NinjaTrader and Tradesignal, as well as in the business analyst application Microsoft Power BI.
There are also client applications for smartphones, but they tend to use the more modern .Net Core technology. Using it and Xamarin.Forms, you can write an application and publish it to the Apple Store or Google Play.
Using .Net, you can create various games under Unity. Examples: Inside, Kerbal Space Program, Endless Legend and even Pokemon Go. To create such games, you need to know the C # programming language and use the libraries of the Mono and Unity platforms.
Internet of Things
The Internet of Things is a huge number of devices that are connected to the Internet in order to exchange data with other “things” and applications. Devices use built-in sensors to collect and act on data. Application examples range from a smart home that automatically controls heating and lighting to a smart factory that monitors industrial machines to find problems.
.NET can also be used here, for example using Raspberry PI with Windows 10 IoT Core. If you plan to develop in this direction, then first of all read on the Internet about Azure IoT and Azure IoT Hub.
Enterprise is the area of developing products to solve business problems. Such products include CRM for tracking customer behavior, as well as information management and document management systems.
Is it worth learning .NET?
.Net technology is attractive to young professionals because it opens up a lot of possibilities. For example, you can go to the backend and become a professional in WCF or ASP.NET Core. Using Razor / Blazor will allow you to create full-fledged web applications for .NET with both client and server parts.
If we talk about modern technologies like React, NG or Vue, then learning for a backend developer will become more understandable using the TypeScript language, which was developed by Microsoft specifically for C # programmers.
Also, do not forget that .Net is a framework tailored for Windows. No need to install anything, everything is already at hand. If you take the same Java, then you will need to install a lot of additional software, and you need a Mac to work with iOS.
.Net has an excellent community that will help you cope with difficulties in the early stages. Therefore, if you have an interest in this technology and you see prospects in it, then it’s time to start learning .Net right now.
.Net technology is the ability to write complex and functional applications. To become a .Net developer, first of all, you should learn the basics – the theory of algorithms and information theory. After learning the basics, you can move on to choosing a platform and the language that it supports.