.NET Core vs .NET MVC
Overview
The following article describes the differences between the two technologies, as well as the benefits you experience when using .NET Core framework frontend.
General comparison
Scalability
Since traditional MVC development takes place in the CMS, when the frontend system is under heavy load, the whole application (CMS) scales. This means that while additional resources are allocated to the part that is under load, various other parts of the system are left unused.
Because the .NET Core frontend is decoupled from the backend of Sitefinity CMS and functions as a separate application, it can scale up or down independently and faster than Sitefinity CMS on its own. Thus, the resources allocated for the .NET Core frontend are much less.
Hosting
Since MVC is built on .NET Framework, it can only be hosted on the Windows OS. .NET Frontend, however, is built with .NET and can be hosted on all supported platforms – Linux, Mac, as well.
Compilation
When using MVC-based pages, they are either compiled on demand or can be precompiled using the Sitefinity Precompiler tool. A change to the root template of the site triggers the compilation of multiple pages that inherit it. With .NET Core pages, there is no page compilation. Changes to the template do not result in time-consuming and CPU-intensive operations.
Caching
Both MVC and .NET Core use output cache for caching the output of the pages.
Upgrades
When upgrading the .NET Core frontend, you upgrade only a small number of packages, which go through a backward compatibility automation testing suite. Since the APIs that the .NET Core frontend uses are restricted to content APIs, you upgrade with minimal breaking changes in the APIs.