The range of products that .NET developers work on is very wide. Just look at this list: it lists companies from a wide variety of industries – from finance to science, politics, and social causes – that use .NET. In general, all the variety of software products that are created under .NET can be grouped as follows.
Web Development
Perhaps this is the most common group of programs written in .NET. The peculiarity of web applications is that they work through a browser and usually require a stable Internet connection.
Web applications can be of varying complexity. It is not difficult to create a small website on a single page with pictures and links. But creating a complex web application requires a lot of effort. A vivid example of an application that is simple in terms of appearance and complex in terms of server load is the Stack Overflow website, which is known to every developer.
To write a web application for .NET, you need to know C# and be familiar with the ASP.NET MVC framework. You also need to understand what a client/server is, how the HTTP, REST, and JavaScript protocols work, and distinguish between Frontend and Backend. And if we are talking about modern development, it is important to have an understanding of domains, hosting, plans, and cloud technologies (MS Azure, Amazon, Google Cloud).
Client Applications
Not only web, but also client applications are created under .NET – products that run on personal computers and mobile devices of end users.
Some components of the Windows operating system, such as notepad and calculator, were developed using .NET. In addition, there are a large number of .NET applications created by individual developers: you can find some of them on this resource. More complex products are also being developed. For example, NinjaTrader and Tradesignal are developed for traders. There is also an interesting application for business analysts – Microsoft Power BI, which visualizes information from any source, simplifies and speeds up the work with big data. Desktop Client Applications are mostly based on WPF or Windows Forms technologies – knowing them, you can create complex applications for users’ desktop computers.
There are also client applications for smartphones. With the help of .NET Core and Xamarin.Forms, you can write an application, publish it in the Apple Store or Play Market, and it will become available to every owner of a smartphone or tablet.
Game Development
Using .NET, you can write games for Unity. This is a platform based on the .NET implementation Mono. Such well-known games as Inside, Kerbal Space Program, Endless Legend, and Pokemon Go are written for Unity.
To create a game, it is enough to know C# and use the libraries of the Mono and Unity platforms. It is much easier and faster because you don’t have to learn C++, and Mono and Unity will take care of all the work of converting C# code.
Internet of Things (IoT)
The Internet of Things is the development of technologies for devices that can interact with each other, the external environment, and the Internet. .NET can also be used here, for example, if you use a Raspberry PI with Windows 10 IoT Core and want to control smart kettles, home lighting systems, self-driving cars, speech recognition systems, and automated dialogs based on ready-made frameworks. If you are planning to develop in this direction, you should first read about Azure IoT, Azure IoT Hub, and how two-way communication between the server (hub) and your smart devices is ensured.