Hey lovely readers.
.NET, .NET Core, .NET Framework, ASP.NET, C#, and F#. These terms might not ring a bell if you're new to the development world of Microsoft. Yet, you need to know them to not feel lost in a conversation with other .NET developers or at job interviews. I myself had a hard time learning these terms when I got started, because it can be very confusing.
So if you see yourself working with .NET or C# now or in the future, let me make it a bit more clear for you in this blog post 🙂
What is .NET
.NET (pronounced as dot net) is a software platform that’s made by Microsoft. .NET doesn't only contain languages (like C#, F#, and Visual Basics). It also contains tools, and frameworks (.NET MAUI, ASP.NET, Entity Framework)
Consider .NET to be like a house; .NET is the actual bricks and cement that keep everything together.
.NET Framework or .NET
You might come across the topic-starter .NET Framework vs. .NET. It could come up in a job interview or when speaking with a more experienced .NET developer. That's why it's useful to understand the main differences between these two versions.
.NET as your go-to
The most recent version of the two is .NET (sometimes called by its old name, .NET Core). It’s the standard version in 2022, so when you click download on the homepage you will get this specific version. It's cross-platform, lightweight, and open-source, so the possibilities are endless. You can code something once and run it anywhere on any operating system.
.NET Framework for older software
.NET Framework is .NET’s older brother. It also served as a starting point for many .NET or C# developers. The .NET Framework is only compatible with Windows, and only a small part of it is open-source. It’s also way heavier to run compared to .NET. This is also why as a newer developer, there's a big chance you won't or barely use it.
The Languages of .NET
There must be some coding languages involved with a coding platform. C# and F# are the two most popular .NET programming languages. If you're using. NET, you can code in these two languages as much as you like.
C# for Object-Oriented Programming
According to this year's StackOverflow Developer Survey, C# is without a doubt the most popular language of the two options. It's also the seventh most used language among professional programmers.
F# for Functional Programming
F# (pronounced as F Sharp) is a programming language for people who prefer functional programming to object-oriented programming. It's well-known for its simple syntax and fast performance. It is also used to solve complex computing problems that would take too many lines of code if done in C#.
If you're curious about functional programming then there’s this great article by Eric Elliot on Medium
The Frameworks of .NET
The frameworks in .NET act like an extra layer to help you create the products you want. You can add these yourself and uninstall them if you no longer need them. The most used terms right now offline and on social media are ASP.NET, Entity Framework, Blazor, and .NET MAUI. It’s good to know them but also very interesting if you want to know what kind of projects you want to create with .NET.
See it as the rooms in your house. You have rooms that are for certain activities. If you don’t want that room anymore, you remove the walls. But no matter how many rooms you get rid of, the house is still there.
ASP.NET for Web Apps and APIs
ASP.NET extends your NET installation with tools and libraries that help you create web apps. Both frontend and backend are an option with ASP.NET. It comes with lots of features. With it you can create web requests. You can use templates with well-known design patterns like MVC and MVVM. There even is an authentication system right out of the box.
Want to know more about ASP.NET? Check out these blog posts:
- Getting Started with ASP.NET by Yassine Benabbas
- Understanding ASP.Net MVC Using Real World Examples by Afzaal Ahmad Zeeshan
Entity Framework to get rid of SQL
Entity Framework is an ORM. It handles the communication between your C# code and your relational database. You can retrieve data from your database using the LINQ query system (more on that later). Entity Framework also allows you to create a database from your code or the other way around. You'll never have to create another database or use SQL queries again.
Want to know more about Entity Framework? Here’s a great 60 minute video:
Want to know more about LINQ? Check out these blog posts:
Blazor for Client-side Web Apps
With Blazor you can create interactive Web UIs. You can create the backend and the frontend both entirely in C#.
Want to know more about Blazor? Check out the docs, which includes tutorials.
.NET MAUI for Native Mobile and Desktop Apps
The new .NET trophy project. You've probably heard of it if you've been keeping up with the latest news. .NET MAUI (.NET Multi-platform App UI) is a framework that allows you to create Android, iOS, Samsung, MacOS, and Windows apps in a single project. You can write everything in C# and XAML.
Want to know more about .NET MAUI? Check out the Microsoft Docs Learning Resources
The .NET IDEs
Of course, there are specialized IDEs for NET and C#. Jetbrains Rider and Visual Studio are the two most popular in the community as of 2022.
Visual Studio is the IDE for .NET and C# by Microsoft itself. Don’t confuse it with Visual Studio Code though, because they are two different software products. If you want .NET updates and previews early, Visual Studio is the way to go. Visual Studio has a great setup as well; it's very simple to install and click on what you need.
You can use Visual Studio Community for free.
For a long time, nothing came close to Visual Studio as the specialized .NET IDE. But, that all changed when Jetbrains, the company that also develops the Intelij IDE, released Rider.
Rider will be your best friend if speed and performance are your top priority because it's super fast. It includes many auto-suggestions, lots of keyboard shortcuts, and extra options to make coding better.
If you work with another Jetbrains IDE, you can import your settings from there into Rider. It will also give you the same familiar feeling because all Jetbrains IDEs look very similar.
You can try the trial version of Jetbrains Rider.
That’s a wrap!
Thank you for reading. I hope this can help you in your (future) career as a .NET or C# developer. If you have any suggestions or tips, feel free to leave a comment or contact me on Twitter at @lovelacecoding. See you later!