ASP.NET Core - Overview

ASP.NET Core is the new web framework from Microsoft. It has been redesigned from the ground up to be fast, flexible, modern, and work across different platforms. Moving forward, ASP.NET Core is the framework that can be used for web development with .NET. If you have any experience with MVC or Web API over the last few years, you will notice some familiar features. At the end this tutorial, you will have everything you need to start using ASP.NET Core and write an application that can create, edit, and view data from a database.

A Brief History of ASP.NET

ASP.NET has been used from many years to develop web applications. Since then, the framework went through a steady evolutionary change and finally led us to its most recent descendant ASP.NET Core 1.0.

  • ASP.NET Core 1.0 is not a continuation of ASP.NET 4.6.

  • It is a whole new framework, a side-by-side project which happily lives alongside everything else we know.

  • It is an actual re-write of the current ASP.NET 4.6 framework, but much smaller and a lot more modular.

  • Some people think that many things remain the same, but this is not entirely true. ASP.NET Core 1.0 is a big fundamental change to the ASP.NET landscape.

What is ASP.NET Core

ASP.NET Core is an open source and cloud-optimized web framework for developing modern web applications that can be developed and run on Windows, Linux and the Mac. It includes the MVC framework, which now combines the features of MVC and Web API into a single web programming framework.

  • ASP.NET Core apps can run on .NET Core or on the full .NET Framework.

  • It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises.

  • It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions.

  • You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux.

Advantages of ASP.NET Core

ASP.NET Core comes with the following advantages −

  • ASP.NET Core has a number of architectural changes that result in a much leaner and modular framework.

  • ASP.NET Core is no longer based on System.Web.dll. It is based on a set of granular and well factored 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, improved performance, and decreased costs

With ASP.NET Core, you can get the following improvements −

  • Build and run cross-platform ASP.NET apps on Windows, Mac and Linux.

  • Built on .NET Core, which supports true side-by-side app versioning.

  • New tooling that simplifies modern Web development.

  • Single aligned web stack for Web UI and Web APIs.

  • Cloud-ready environment-based configuration.

  • Built-in support for dependency injection.

  • Tag Helpers which makes Razor markup more natural with HTML.

  • Ability to host on IIS or self-host in your own process.