.NET is an open source developer platform that was created by Microsoft for various types of applications. It’s free and can be built using multiple languages, such as C#, F# and Virtual Basic. It can also be built in different editors and libraries for web apps, mobile apps, desktop, games and IoT. No matter what language you use for your app, your code will run natively on any compatible operating system.
.NET is the implementation for websites, servers and console apps, while the .NET Framework supports websites, services, desktop apps and more on Windows. Xamarin/Mono is a .NET implementation for running apps on major mobile operating systems.
There are a lot of implementations of .NET, so the .NET standard is a formal specification of APIs that are common across the different places where .NET code can be executed, which includes Android, iOS, Windows and macOS among others.
The .NET standard ensures that .NET code can be written on any .NET application, including mobile, desktop, IoT or web. There are various .NET standard versions with different APIs. Older versions allow for fewer APIs to be used, but this means the libraries can run in more places. Newer versions though, contain the potential for more APIs but won’t be adopted by as many users if they haven’t upgraded their versions of .NET.
There are thousands of packages that have been built using the .NET standard to extend functionality, and NuGet is a package manager that contains over 90,000 of them. This gallery of packages can be used by developers to speed up a .NET project and share ideas within this community.
There are lots of different types of app that can be built with .NET cross-platform or on a specific platform. The app models include:
Web – Web apps can be built for Windows, Linux, macOS and Docker
Mobile – A single codebase can be used to build native apps in iOS, Android and Windows
Desktop – .NET creates intuitive and visually appealing desktop apps for Windows and macOS
Cloud – You can use .NET with existing Cloud services, or you can create your own
Microservices – Independently deployable microservices through containers in Docker can be created
Internet of Things – You can make IoT apps with native support
Machine learning – You can use .NET to add speech processing, predictive models, vision algorithms and more
Game development – You can develop 2D and 3D games for desktops, phones and consoles
The fact that .NET is open source opens collaboration with other developers, maximising the potential that .NET can bring to your platform. There are thousands of developers and companies that contribute to the .NET Foundation – an independent organisation that encourages the exchange of ideas and gives developers quick answers on a range of topics, thanks to the active number of developers within the .NET community.