ASP.NET Core is a lightweight, fast and cross-platform framework for building web and cloud applications, built on top of the .NET Core framework.
.Net Core is a paradigm shift for Microsoft, a huge change from the closed world to a new community-focused open source world. Now Microsoft is competing directly with all the open-source – cross-platform competitors like Python, PHP, Ruby, Java and a lot.
ASP.NET Core is a complete redesign of ASP.NET with architectural changes that result in a leaner, more modular framework. It is a cross-platform, high-performance, open-source framework for building web apps and services, IoT apps, and mobile backends.
The first preview release of ASP.NET came out almost 15 years ago as part of the .NET Framework and since then it has received a lot of updates and in the process, it has become a very complex web application framework. Now it's a fresh start and it doesn’t have to support all the old technologies from a decade ago so it will be slimmer by only support the modern technologies like MVC.
Here is what the improvements ASP.NET Core brings to the table:
- Modular Design -The entire ASP.NET Core is designed as a modular framework to meet the requirements of modern web and distributed as NuGet packages.
- Cross-Platform - Core has been rebuilt from scratch with cross-platform as a priority so you can develop and deploy applications on Linux, Mac, and Windows.
- Open-Source and community-focused- A complete open source stack with a new compiler called Roslyn (built-in C#), and a new webserver called Kestrel.
- Provides a Unified Programming Model for building Web UI and API's – A Combined application model with ASP.NET MVC, Web API, SignalR and Web Pages are merged into one framework
- Fast - ASP.NET Core is JIT compiled and not interpreted like most other web languages like PHP, Python, Ruby, Node.js
- Test-Driven Development - Architectural changes made it more testable with a clear separation of concerns.
- Client-side Development -Seamless integration with modern UI frameworks like Angular, React, etc.
- Out of the box support for Dependency Injection.
- Extremely lightweight and high-performance configurable HTTP request/response pipeline.
- Cloud-ready, host anywhere (IIS, Apache, Nginx, Docker, or custom process) configuration system.
ASP.NET Core is a part of .NET Core SDK so you don't need to install ASP.NET Core separately. .NET Core comes under MIT or Apache 2 licenses. Visit the .NET Core repository on Github to contribute or download the source code.