Reason 1: It supersedes all the existing dotNET Web Frameworks
ASP.NET Core has no resemblance to ASP.NET Web Forms - they are poles apart and have nothing in common. There is no continuity link between them. Your knowledge of ASP.NET Web Forms will not be of any help in learning ASP.NET Core.
You might have come across these names also: MVC 4, MVC 5. These applications were based on MVC architecture and were successors of ASP.NET Web Forms. But now they themselves have been succeeded by .NET Core Razor Pages.
ASP.NET Core applications can now be written either with (i) MVC architecture, OR (ii) with a more direct technique of Razor Pages.
Even though it is possible to do ASP.NET Core with MVC, yet the preferred and recommended way is to use Razor Pages. A razor page is a simple stand-alone file whereas an MVC application will make use of Controller classes and Action methods to achieve the same objective.
Reason 2: Simpler Structure
In case you are not familiar, let me introduce you to three terms here - Action, ViewModel and a View. An action is a function that handles web requests like the Get and Post requests, and accordingly, communicates with a database to create a C# "ViewModel" object that contains data in the form of properties and collections. The ViewModel is used by a View (written with razor syntax) to prepare the final, human readable, web page.
In an MVC application, all these three items are in separate files, and in separate folders of the project.
But in an ASP.NET Core application all of them are in a single folder called Pages - and in a single Razor Page. A razor page is often split [mainly for convenience] into two files of the same name but different extensions. One file contains the markup, and the other contains the C# code behind.
Reason 3: will soon be the only alternative for .NET based web development
We believe that in the coming 2/3 years, dotnet core will be the only way for dotnet based web development.
As on the date of writing of this article, most of the web development is being done with classic web forms and mvc 4/5. But this scenario is going to change very soon, firstly, because .net core has a shorter learning curve which makes its adoption easier, both for the developers and companies. But more importantly, consumer hosting providers like godaddy are likely to start providing it on their basic and starter plans.
Remember that when a technology percolates to the level of a developer on the streets, then it acquires a dominant position.
Reason 4: .NET Core has basic advantages viz-a-viz PHP scripting
PHP based pages are script based, and not compiled.
A software developer often wishes some sort of control over the source code - and is never comfortable giving away his code in text form. This can never be avoided by a PHP developer. But, on the other hand, dotnet code is always deployed in a compiled form.
Moreover, a compiled code performs faster than a script based code.
Reason 5: .NET Core now fully competes JAVA
.NET Core is now open source just like JAVA Spring/Hibernate frameworks.
Another thing is that .NET Core is alive and under active development - and improves upon the shortcomings of classic JAVA based frameworks.
Very soon, .NET Core may become available on LINUX based servers.
A Common Query Question - "I am an Asp.Net Dot Net framework 4.6+ Developer. I have written a project on AspNet Dotnet framework 4.6+ with XML only. No Database. Is it required to Convert/Migrate my application into MVC or Core?" [as on 21-Oct-2022]
Conversion of an ASP.NET project to ASP.NET Core project will be a laborious task depending on the complexity of your project.
There are a lot architectural differences also.
ASP.NET Core web-hosting are not yet available on popular hosts like GoDaddy. Cloud based providers charge too high.
It's true that ASP.NET Core is the future, but I personally expect ASP.NET (4.6) to stay supported for another 5/8 years. In fact ASP of 2000s continued to stay much longer.
In nutshell: it's not urgent to start the migration immediately. However, some internal work should be started to migrate the existing code logic to ASP.NET Core in parallel.
This Blog Post/Article "Reasons why you should learn ASP.NET Core with Razor Pages" by Parveen is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.