September of 2017 is almost gone, and only now I had a chance to look at the most recent issue of the monthly MSDN magazine. What’s the hot topic in September? .NET Core 2.0 / Standard 2.0 is highly praised by most MSDN authors. One of the articles mentions a feature I did not know existed. It’s called Razor pages. In short, it’s the new Web Forms.
It allows you to finally transition to Razor even for small websites, which do not require a full blown MVC structure (where files live in 3 different folders, and you are constantly switching between them). The simplicity of having 1 markup file + 1 code-behind file is what kept people from defaulting to MVC. Now you can have the best of both worlds, and once your project evolves in complexity, separate into more classes. For more details, check here:
I decided to go online regarding .NET Core 2.0 in regard to performance improvement, since it is now open source. There were quite a few notable improvements (iterators, lists and other common data structures), and some areas were improved 100x and more.
Also .NET Core 2.0 is now able to reference Full Framework libraries (for example, .NET 4.7). Which means we can write new code in .NET Core while still referencing the old code. Another good sign is that MS got rid of xproj / project.json experiments in favor of csproj, the extension we are so much used to.
The benefit is we can continue to use MSBuild now, whereas for experimental project types we would need to use other build tools (so no easy path from .NET 4.7 to Core 1.0). In a way, .NET Core 2.0 to Core 1.0 is like .NET 2.0 was to 1.1 in the old days of early .NET – it is mature enough to use, in both performance and integration aspects.