The question is not ‘why’ but ‘when’

somebody smart

.NET Core is the future of .NET. Its not me who is saying this, its Microsoft, I just completely agree with it! There’s no point in pondering “.NET core vs .NET Framework” anymore, that time has long gone. It’s high time, we start moving away from .NET Framework and start using .NET Core. Let’s explore what .NET Core is all about and what is the future roadmap.

What is .NET Core?

.NET Core is an open source, multi-platform framework from Microsoft which will eventually replace the .NET Framework. When we say multi-platform or cross platform it means it runs on Windows, macOS, and Linux operating systems. It delivers high performance and improved security. Microsoft recommends running .NET Core with ASP.NET Core for the best performance and scale.

Advantages of .NET Core
  1. Open Source: The .NET Core framework is open source. The dotnet project is part of the .Net Foundation, a non-profit organization that supports over 25,000 contributors
  2. Cross Platform: It is a portable and runnable framework. It can run on Windows, macOS, and Linux operating systems
  3. Improved Performance: Delivers high performance with features like hardware intrinsics, tiered compilation, and Span<T>
  4. Support for Various Application Types: .NET Core, provides the ability to develop apps in an array of domains, such as gaming, mobile, IoT, AI besides desktop, web and cloud-based applications
  5. Increased Security: .NET Core offers a wide range of easy to use mechanisms for authentication, authorization, data protection, and attack prevention
  6. Service-Oriented Architecture: Applications comprising of small and modular services can run as unique processes and deployed independently. .NET Core works well with containers (Containers and microservices architecture often are used together because of their lightness and modularity). Server apps can be deployed cross-platform to containers (like Docker)
  7. High Flexibility: .NET Core allows a mix of technologies, is lightweight, and can be minimized for each microservice. .NET Core is also scalable as new microservices are added
  8. Multi Versioning Capability: Multiple services can be run on the same server (host) with different versions of .NET (dependencies on different versions of frameworks in .NET)
Introduction of .NET 5

Finally, this is the biggest reason of all – due in November 2020, with the introduction of .NET 5 (no “Core” and no “Framework”) Microsoft will transition from the aging, proprietary, Windows-only .NET Framework to a modern, open source, cross-platform .NET. This will be the next big release after .NET Core 3.0

According to Microsoft –
.NET 5 is the next step forward with .NET Core. The project aims to improve .NET in a few key ways:

  1. Produce a single .NET runtime and framework that can be used everywhere and that has uniform runtime behaviors and developer experiences
  2. Expand the capabilities of .NET by taking the best of .NET Core, .NET Framework, Xamarin and Mono
  3. Build that product out of a single code-base that developers (Microsoft and the community) can work on and expand together and that improves all scenarios
.NET 5 as described by Microsoft

With everything going on with .NET Core and with the existing new direction Microsoft is taking with the introduction of .NET 5, it is high time we move on from .NET Framework. It was 15 years back when I was introduced to .NET Framework when I started my career as a .NET developer and today I am writing about the next big thing!

To know more about .NET 5, read this.

Until next time, stay safe.