ASP.NET Core is a cross-platform, high-performance, open-source framework for building modern, cloud-based, Internet-connected applications. With ASP.NET Core, you can:
- Build web apps and services, IoT apps, and mobile backends.
- Use your favorite development tools on Windows, macOS, and Linux.
- Deploy to the cloud or on-premises
- Run on .NET Core or .NET Framework.
Why use ASP.NET Core?
Millions of developers have used ASP.NET (and continue to use it) to create web apps. ASP.NET Core is a redesign of ASP.NET, with architectural changes that result in a leaner and modular framework.
ASP.NET Core provides the following benefits:
- A unified story for building web UI and web APIs.
- Integration of modern client-side frameworks and development workflows.
- A cloud-ready, environment-based configuration system.
- Built-in dependency injection.
- A lightweight, high-performance, and modular HTTP request pipeline.
- Ability to host on IIS or self-host in your own process.
- Can run on .NET Core, which supports true side-by-side app versioning.
- Tooling that simplifies modern web development.
- Ability to build and run on Windows, macOS, and Linux.
- Open-source and community-focused.
ASP.NET Core ships entirely as NuGet packages. This allows you to optimize your app to include just the NuGet packages you need. The benefits of a smaller app surface area include tighter security, reduced servicing, and improved performance.
Build web APIs and web UI using ASP.NET Core MVC
- The Model-View-Controller (MVC) pattern helps make your web APIs and web apps testable.
- Razor Pages (new in 2.0) is a page-based programming model that makes building web UI easier and more productive.
- Razor syntax provides a productive language for Razor Pages and MVC Views.
- Tag Helpers enable server-side code to participate in creating and rendering HTML elements in Razor files.
- Built-in support for multiple data formats and content negotiation lets your web APIs reach a broad range of clients, including browsers and mobile devices.
- Model Binding automatically maps data from HTTP requests to action method parameters.
- Model Validation automatically performs client and server-side validation.
For more information, see the following resources: