When it comes to making the choice of a .NET framework to build your web applications on, there are two options. One being the .NET Framework and the other, as the names suggest, share .NET components and are also capable of sharing code between them. This article will emphasize on the differences as well as the framework preference.
When to choose .NET Core
As .NET core offers great flexibility when dealing with applications meant to be run across several platforms such as Windows, Linux, and Macintosh OS. Visual studio on Windows offers an integrated application development environment that also supports Linux and Macintosh OS.
Owing to its lightweight and API compatibility, the .NET Core framework is the ideal candidate for adopting a microservices architecture for your application. A microservices unit would contain multiple, stable, independent units that each have their own unique microservices function.
A need for high performance and scalable systems
.NET core and ASP .NET core are two frameworks that have been known to have great performance and flexibility when it comes to scalability. A stable, high efficiency performance is a necessity for microservices infrastructure applications as they have several services running simultaneously.
When to choose .NET Framework
Need for ASP.NET Web Forms and Web pages
Only the .NET framework hosts the ASP.NET Web Forms applications. If your program requires you to access the services of ASP .NET web forms applications, it is imperative to choose .NET framework over .NET Core. A similar trend follows for ASP.NET Web pages.
WF, WCF, WCF Data services
.NET framework provides exclusive access to the Windows Workflow Foundation (WF) and the WCF Data services. The latter was known as ADO.NET data services before. An integration of both known as Workflow Services is also available on the .NET Framework exclusively.
Support for Languages
Unlike .NET Core, Visual Studio 2017 will support Visual Basic and F# languages.
|When to use .NET Core for your server application
|When to use .NET Framework for your server application|
|Requirement of an application that runs across several platforms
|When you require certain third party .NET libraries that are not available or compatible with .NET core (For example, NuGet packages)|
|Microservices architecture is the primary target
|We services, web technologies, .NET technologies which do not run with a .NET Core framework.|
|Docker containers in use
|Your platform does not support .NET Core.
|Looking for better efficient server applications