DEV Community

Sele
Sele

Posted on

WHAT IS C# .NET and WHY SHOULD I EVEN USE IT?

If you have been paying some attention to the popularity of programming languages and tools you will notice a rise in the use of C# and .NET. In recent years there has been a lot of changes and revamp in the .NET ecosystem. A lot of people still attribute .net to a windows-only platform which is not true since the launch of .NET core in 2016. So there are a lot of questions and things to explore such as;
What is .NET?
Why should I use .NET?
If I am already a .NET developer what’s in it for me?
In this article, we would do justice to those questions

What is .NET?
The .NET framework is a software development framework for building and running applications. It is regarded as a development platform made up of tools, programming languages, and libraries for building different types of applications.

Is .NET still exclusive to Windows?
In 2016 Microsoft officially launched .NET core which is cross-platform. .NET developers are now able to write truly cross-platform apps that can run on Windows, Linux, and macOS.
The .NET framework over the years has been able to record some huge success, especially among large scale enterprises.
Let’s look into some of them and why they are preferred choices for many businesses.

Backend Web apps:
Asp.NET core is the backend web framework for developing web APIs using either C# or F#. Asp.NET Core is a high performance and scalable web framework based on the MVC design pattern. Some of its major features are; a robust authentication and authorization framework with asp.NET identity, ORM with entity framework, and an in-built logging system. It also promises easy deployment especially if you are deploying to Azure. Asp has been the choice of enterprise application development for a long time and has spread to other use cases including small to medium size projects like simple restaurant management systems and inventory systems.

Internet Of Things (IoT):
C# has been one of the major players in IoT. C# can be used to develop cross-platform IOT systems and provides support for multiple sensors and input devices. Input devices that use SPI, serial port interfaces GPIO. With C# you can build IoT apps that run on Raspberry Pi, humming Board, Beagle Board, and more. C# in IOT is BIG. If you are looking to go into IoT C# is an amazing choice.

Desktop Apps
With WPF we can develop cross-platform desktop apps in .net using c# and XAML for design. Very Good development experience.

Mobile Apps
The xamarin framework allows c# developers to develop cross-platform mobile apps in IOS and Android. It is loved by everyone from freelance developers to enterprise engineers. Support from top companies like UPS and Alaska Airlines and amazing tools like the Bot framework, Xamarin is loved by all.
Game Development
Many of you will have seen or heard about the unity game engine. It one of the most popular game engines alongside the likes of Unreal. The major programming language of choice in unity is C#. Unity gives you a user-friendly environment to create games on all platforms including mobile with C#

Front-end web apps
Yes, it is possible, there is another option to building web interfaces other than JavaScript. With a new web technology called blazor. With the help of web assembly (which we will talk about in more recent posts) other compiled languages like C++ and Rust can run in the browser. One of the biggest players in this web assembly game is Blazor. Blazor is a front-end C# framework for building interactive web user interfaces. So instead of having HTML, CSS and JavaScript. We can now have HTML, CSS, and Blazor.

The .NET platform is a powerful one and more keeps on coming. A new release of .NET 5 is out and it just screams BETTER! .NET is an amazing platform for software development and every developer should give it a chance.

Discussion (8)

Collapse
epsi profile image
E.R. Nurwijayadi

Good article.

I'm a beginner in C#. To help more beginner, I have made a working example with source code in github. For example to solve concurrency issue.

🕷 epsi.bitbucket.io/lambda/2020/12/2...

First the class method containing sender and receiver actor.

Sender and Receiver

And then run both

Run Both in Program Entry Point

I hope this could help other who seeks for other case example.

🙏🏽

Thank you for posting with thorough explanation.

Collapse
hamza_bakhtari profile image
hamza bakhtari

you did a very good job of summarizing the .NET platform

Collapse
monsele profile image
Sele Author

Thank you

Collapse
swegrock profile image
seb

Nice one, always love to see .NET getting the appreciation it deserves!

Collapse
epsi profile image
E.R. Nurwijayadi

You can still edit your article to make it looks better.

🕷 daringfireball.net/projects/markdown/

Collapse
monsele profile image
Sele Author

Thank you I will look into it

Collapse
slavius profile image
Slavius

You forgot to mention ML.net - an easy to use library for ML/AI projects that can handle classification and prediction without investing too much into learning heavy math.

Collapse
monsele profile image
Sele Author

Yeah, that's true, thanks a lot