Introduction to ASP.NET Core
By Daniel Roth, Rick Anderson, and Shaun Luttin
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 (and continue to use) ASP.NET 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 (xref:)modern client-side frameworks and development workflows.
- A cloud-ready, environment-based (xref:)configuration system.
- Built-in (xref:)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
ASP.NET Core MVC provides features that help you build (xref:)web APIs and (xref:)web apps:
- The (xref:)Model-View-Controller (MVC) pattern helps make your web APIs and web apps testable.
- (xref:)Razor Pages (new in 2.0) is a page-based programming model that makes building web UI easier and more productive.
- (xref:)Razor syntax provides a productive language for (xref:)Razor Pages and (xref:)MVC Views.
- (xref:)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.
- (xref:)Model Binding automatically maps data from HTTP requests to action method parameters.
- (xref:)Model Validation automatically performs client and server-side validation.
Client-side development
ASP.NET Core is designed to integrate seamlessly with a variety of client-side frameworks, including (xref:)AngularJS, (xref:)KnockoutJS, and (xref:)Bootstrap. See Client-side development for more details.
Next steps
For more information, see the following resources:
- (xref:)ASP.NET Core tutorials
- (xref:)ASP.NET Core fundamentals
- The weekly ASP.NET community standup covers the team’s progress and plans and features new blogs and third-party software.
|