Spread the love

.NET Core vs .NET Framework

 

The information presented here is intended to be a high-level summary of .NET Core vs .NET Framework rather than a fully comprehensive or complete list.

Microsoft dot Net logo 

 

.NET Core vs .NET Framework in a nutshell

 

.NET Core is a free open source, general-purpose development platform for developing modern software applications on Windows, Linux, and macOS operating systems. It operates across several platforms and has been revamped to be fast, scalable, and modern.

 

.NET Core is one of Microsoft’s big contributions released under the MIT License. It offers the following features:

  • Cross-Platform
  • Open Source
  • High Performance
  • Multiple environments and development modes, etc.

 

.NET framework was developed by Microsoft to develop form-based applications, web-based applications, and web services. The first version of the .NET Framework was released in 2002. In simplistic terms, it is a virtual machine for compiling and executing programs written in different languages with C# and Visual Basic the most common.

 

Bullet Points Comparison .NET Core vs .NET Framework

  • .NET Core is cross-platform whereas the .NET Framework is Windows-only.
  • .NET Core does not include all the functionality that is available in .NET Framework
  • New versions of .NET Core are still being released while .NET Framework 4.8 was the final major release of the .NET Framework.
  • .NET Framework 4.8 should be available for as long as Windows is available; new features and performance improvements are only going to be added to .NET Core.

 

As systems are moved/ported over to .Net Core, you will probably need to move any .Net Framework applications/code you have to .Net Core eventually as well.

 

Summarized similarities .NET Core vs .NET Framework

  • .NET Core contains a large subset of the .NET Framework Base Class Library (albeit with a different factoring).
  • .NET Core is faster (often times significantly) than .NET Framework
  • .NET Core and .NET Framework have a shared API called “.NET Standard”, which is available on all .NET implementations.
  • .NET Core and .NET Framework both support Windows and Windows Server.

 

Summarized differences .NET Core vs .NET Framework

  • .NET Core runs on Windows, Linux and macOS; .NET Framework runs on Windows only.
  • .NET Core currently does not support creating desktop applications with a user interface whereas the .NET Framework does.
  • .NET Core is fully open source; only a subset of the .NET Framework is open source.
  • .NET Core supports all the essential stages of mobile app development; the .NET Framework is of little to no use for building mobile apps.

 

.NET Core Advantages

  • .NET Core is seen as the future architecture of the .NET platform. Eventual plans are that it will replace the .NET Framework, but I don’t see that happening at least until after Windows 11 and the upcoming Windows 12 are out of support since they both run with .NET Framework libraries.
  • .NET Core enables developers to create, test, and deploy apps directly on the cloud infrastructure.
  • .NET Core enables applications to be completely isolated. That is, they can be completely self-contained, so there’s no need to rely on files shared with other applications. This means that once .NET core files have been deployed, updates can be made to them without affecting the behavior of any other application(s).
  • Deploying an application to run on .NET Core can be as straightforward as copying the files to the target environment.

 

Choosing Between .NET Core vs .NET Framework

 

Use .NET Core when:

  • Deploying a new application, unless it relies on functionality only available in the .NET Framework.
  • Using microservices. Because .NET Core allows a mix of technologies, it is lightweight and can be minimized for each microservice.
  • Performance and scalability are vital. In these cases, Microsoft recommends running .NET Core with ASP.NET Core.
  • You need to run applications that require different versions of .NET side-by-side.
  • Required to be cross-platform compatible
  • Needs to be highly scalable and performance-oriented

 

Use .NET Framework when:

  • Functionality is needed that isn’t available in .NET Core, such as:
    • ASP.NET WebForms
    • WCF services
    • Any .NET Framework API that is not part of .NET Standard
  • You need a large-scale enterprise or desktop application or usage
  • Needs technologies like WCF, webforms, or workflow that are not compatible with .NET Core
  • You need to use functionality that is available in .NET Core but is not currently supported by Visual COBOL. For example, the following are not currently supported:
    • Deploying to macOS.
    • Deploying to a Linux/Windows container running in Docker.

 

I hope that assists you with your development decisions on whether to use .NET Core vs .NET Framework!

 

You can always visit the Microsoft .NET site if you want more information.

 

Otherwise feel free to leave any questions and/or comments below!

 

 


Spread the love
Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
0
Would love your thoughts, please comment.x
()
x