ASP.NET Core is the new Web Framework for Microsoft technologies. We’ll see the benefits of using the Framework.
How did the name ASP.NET Core come about?
Originally deemed ASP.NET vNext, the framework was going to be called ASP.NET 5 when ready. However, in order to avoid implying it is an update to the existing ASP.NET framework, Microsoft later changed the name to ASP.NET Core at the 1.0 release From Wikipedia.
Benefits of ASP.NET CORE
Cross platform development and deployment
Performance is the main focus
A simplified hosting model
Open source (community requested features)
Modular framework distributed as NuGet packages
Integrates with popular client side development frameworks
All the previous versions of .NET and Visual Studio are windows-specific. As everybody is aware, Visual Studio for Mac and Linux has been released. So, Visual studio became cross platform. As with Visual Studio being open source, the compiler of the C# also became open source and is hosted on GitHub — it’s the same story is for .NET Core as well.
Drawback of ASP.NET
The hosting model for the ASP.NET is tied to Windows IIS. So, IIS has to handle the request and invokes specific global.asax methods.
Kestrel web server
Kestrel is a lightweight HTTP server that handles ASP.NET Core applications request pipeline.
With ASP.NET core, there is a Kestrel web server within the ASP.NET Core Application which handles the request. So, the IIS will hand off the request to the Kestrel web server and kestrel processes the request. Now, how is this an open source? Yes, it is open source. Instead of IIS, for Mac users, they can have Nginx/Apache as a server to handle the requests and send it to kestrel.
LTS Support for .NET Core 2.1
.NET Core 2.1 will be a long term support(LTS) release. This means that this is supported for 3 years. So, it is recommended that we make .NET Core 2.1 as the new standard for .NET Core.
Contributions from Open Source
Most of the performance improvements were made to Kestrel HTTP Server. Many of the contributions to performance improvements are from contributors to open source project on GitHub. So, developing on open source means we should certainly see fixes and features would get to production environments more quickly.
The modularity is achieved as everything on the ASP.NET Core is decoupled from the underlying .NET platform. The web framework (ASP.NET Core) is implemented as modular NuGet packages. So, you can customize and update to whatever you want.
Integrations with client side frameworks
Client side frameworks these days are getting more popular than the enterprise software. ASP.NET Core integrates with popular client side frameworks and libraries, including Angular, React, and Bootstrap.
One might argue that the Microsoft team is mimicking the Node.js style of operation in its modularity. Yes, but Microsoft is trying to build better software to make it better by identifying the drawbacks of the existing applications. So, the heavy frameworks are being modularized.
Back in the day of .NET Core 1.0 initial releases, it was not production ready but as .NET Core 2.1 is an LTS release, enterprise products could get support from Microsoft.