.NET is a free, open-source, and cross-platform for building modern, scalable, and high-performance desktop, web, cloud, and mobile applications. The current version of .NET is .NET 5.0, which is the successor of .NET Core 3.1 and .NET Framework 4.6. Prior to .NET 5.0, .NET had two versions, .NET Framework, and .NET Core, but in this version, both have merged and now there is only version.
.NET is a single unified platform to build desktop, web, cloud, mobile, gaming, IoT, and AI apps. The .NET ecosystem has a single common library, runtime, language compilers, and tools.
The following is a list of .NET components:
Application frameworks and libraries
Languages – C#, F#, and Visual Basic
Tools - Visual Studio, Visual Studio for Mac, Visual Studio Code, and Command Line Interface (CLI) are tools used to build, test, and deploy .NET applications.
.NET application frameworks and libraries
.NET can be used to develop the following types of applications:
.NET provides four major technologies to build desktop applications, WPF, Windows Forms, UWP, and Xamarin.
ASP.NET is a set of libraries and tools to build web applications including front-end websites, APIs, and Microservices.
Blazor is the newest addition to .NET. Blazor is a single page web app framework built on .NET that runs in the browser via WebAssembly. A Blazor application can be deployed as a set of static files without the need for any .NET support on the server.
Learn Blazor: https://www.c-sharpcorner.com/technologies/blazor
Xamarin is a tool that is used to develop native mobile apps using C#.
Cloud has become the prime destination of software applications. Cloud native apps are designed to build, test, and deploy in the cloud. Cloud-native apps are modern, high performance, automated, and highly scalable. The key features of cloud-native apps are modern design, the use of microservices and containers, backing services, and automation.
.NET works well with Xamarin and Unity to develop game apps for mobile and gaming consoles. Unity is one of the most popular gaming development tools and supports C# and .NET development and works well with Visual Studio.
Internet of Things
.NET can be used to build IoT systems. It's multi-platform and supports hundreds of sensors, displays, and input devices that can use GPIO, SPI, I2C, PWM, SerialPort, and more. Sensors include popular DHT Temperature and Humidity, accelerometers, lights, gas sensors as well as more complex hats like GrovePi, Adafruit Seesaw, Sense HAT, RFID modules like PN532, and extended like FT4222. For a full list of bindings, see Device bindings.
Where can I download .NET?
The latest version of .NET can be downloaded here: https://dotnet.microsoft.com/download/dotnet/5.0
Today, we build software to target various devices and platforms. Devices include desktops, laptops, tablets, and smartphones. Platforms are Windows, Linux, and Mac. Besides these common devices and platforms, there are more devices and platforms out there. Internet of Things (IoT), cloud platforms, gaming devices, TVs, refrigerators, and cars are other popular devices that run on software.
.NET is a software development platform for building software applications for all these devices. That means, once you learn .NET, you can start building applications for desktops, web, cloud, mobile, gaming, IoT, and more devices.
Here are the key characteristics of .NET:
.NET is open source and available on Github for free to download and open to community contributions. While the direction of .NET development is lead by a dedicated team of experts at Microsoft, a majority of the development is decided by a large open-source community.
.NET is cross-platform and supports all Windows, Linux, and Mac OS. A .NET application can be developed using a single code base and run on multiple platforms.
.NET is a modern software development platform and supports a majority of modern software development needs including native mobile, cloud, web, and services.
.NET supports multiple languages including C#, F#, and Visual Basic.
.NET is cloud-native and allows developers to build cloud-based web applications, services, and APIs.
.NET offers some of the best software IDE and tools including Visual Studio and Visual Studio Code.
.NET is fast and friendly and plays well with other languages and platforms.
.NET current version and future releases
.NET is mature and yet still evolving. The first version of the .NET framework was released on Feb 14, 2002. The current version of .NET is .NET 5.0 that was released in November 2020.
.NET team has announced the released dates of upcoming versions and is expecting to release one major version every year in November. As you can see from the above release schedule, .NET 6.0, 7.0. and 8.0 will be released in Nov 2021, 2022, and 2023 respectively.
We can’t finish talking about .NET without talking about its primary programming language C#. C# is one of the most popular programming languages in the world. C# is also the most versatile programming language among them all.
C# is simple, clean, and modern.
C# is safe, productive, and fast.
C# is open source.
C# is a language for all kinds of software applications.
C# is a language for emerging technologies.
C# is evolving.
C# 8.0 is the latest public version of C# language while C# 9.0 is knocking the door and expected to be released in Nov. 2020 with the release of .NET 5.0. C# 8 has the following new features:
Default interface methods
Nullable reference types
Pattern matching enhancements
Asynchronous streams / Asynchronous disposable
Enhancement of interpolated verbatim strings
Static local functions
Indices and ranges
Unmanaged constructed types
Stackalloc in nested expressions
Disposable ref structs
To learn more, check out this link on C# 8 features: https://www.c-sharpcorner.com/article/c-sharp-8-features/
C# 9 is the next version that is expected to release soon. Some of the key features of C# 9 are record types, structural equality &referential equality, improvements in expression matching, default in deconstruction, relax ordering of ref and partial modifiers, parameter null-checking, skip locals init, lambda discard parameters, attributes on local functions, native Ints, and function pointers.
Here is a detailed article on C#, containing 9 features with code examples: https://www.c-sharpcorner.com/article/deev-dive-into-c-sharp-9
What is the future of .NET jobs?
There are plenty of .NET jobs in marketing. Almost every fortune 500 company uses .NET for the development of its software applications. Currently, there are close to 20,000 open positions available for .NET developer position on indeed.
With the launch of .NET 5.0, which is a single unified platform to build all kinds of applications, there will be a jump in .NET jobs.
What is the salary of a .NET developer?
The annual average salary of a .NET developer in the United States is $98,541, according to indeed.com. The salary of .NET developers depends on the location, company, and number of years of experience.
The following table shows the average salary of a .NET developer by the state in the USA.
Just because the salary of a .NET developer is $102k in New York does not mean that all cities in New York pays that amount. For example, in New York City, this salary may easily be 50% more than the average state salary.
Some companies pay well over average depending on the project, skillset, and even person. As you can see from the above salaries, Selby Jennings pays much higher than any other company, according to Indeed.
Source: C# Corner