.NET Core Framework

What is .NET Core?

.NET Core is a new open-source and a cross-platform framework for developing cloud-based web applications. With .NET Core you can:

  • Develop web applications, services, IoT apps, and API servers for mobile apps
  • Develop applications on your favorite operating system and development tools (Windows, OS X, Ubuntu …)

.NET Core is designed to provide and optimize development frameworks for applications that are deployed on the cloud or on-premise. It includes module-oriented components which optimize resources and development costs.

.NET Core applications can run on either traditional .NET Framework or .NET Core.

Years ago, when talking about C#, people immediately thought of Microsoft .NET Framework. C# used to be ridiculed because it comes with .NET Framework that only works on Windows OS. In What Circumstance Was ASP.NET Core Created?

Besides, in order to develop C# applications, developers have to deal with expensive and cumbersome Visual Studio and Microsoft SQL Server. These two guys, also just work on Windows.

ASP.NET Core has made some great changes in its architecture, as a result of learning a lot from other modular frameworks. ASP.NET Core no longer relies on System.Web.dll. It is now based on a set of packages, modules, or also called NuGet packages. This allows you to optimize your application to include only the necessary packages. Its benefit is to make the application smaller, more secure, reduce complexity, optimize performance and reduce time and costs for the development.

Combined with the fact that Microsoft SQL Server has been able to run on Linux distribution of year 2016, Microsoft is now bring a complete solution for web-app development & deployment.

Why use .NET Core?

  • A unified way for building Web UI and Web APIs
  • Integration of modern front-end frameworks such as ReactJS, AngularJS, VueJS
  • Application configured ready for cloud hosting.
  • Built-in dependency injection
  • HTTP requests optimized to be more lightweight and higher performance
  • Deployable on IIS,Nginx, Docker or self-host in your own process
  • Built on .NET Core, true app versioning support
  • Smarter NuGet packages management
  • New and simple tools for developing modern web pages
  • Build and run ASP.NET applications not only on Windows but also on macOS and Linux
  • Open-source with a large community

.NET Core Support Tools

  • .NET Runtime Installer: allows you to write code, build and run .NET applications on Windows, Linux, and macOS
  • .NET CLI: Instead of having to use Visual Studio to open the project, then press build and run within the tool, now you can use the command line: ‘dotnet build’, ‘dotnet run’. Just cool and fast. Building and running with the command line also make it much easier to integrate to CI and to deploy the project.
  • IDE: Visual Studio has a lot of features but it runs slow and takes up RAM. Now we have Visual Studio Code: fast, compact, lightweight, built-in GIT and running on all Operating Systems. Familiar users of JetBrain (ReSharper, WebStorm) can wait and use their Project Rider.
  • Database: The .NET application is usually running with Microsoft SQL Server. Now what database should we use if we switch to Linux? Do not worry, Microsoft will also put their SQL Server 2016 on Red Hat Linux distribution.


2.0 14-08-2017
2.1 30-05-2018 – .NET Core:

+ Global Tools

+ Span<T>

+ Sockets

+ HttpClient Performance

+ Window Compatibility Pack


– Entity Framework (EF) Core

+ Lazy loading

+ Value conversions

+ Query Types

+ Data seeding




+ Razor UI as a Library

+ HttpClientFactory

+ Asp.net Core SignalR

2.2 Q4 2018 – Update template and scaffolding to Bootstrap 4

– Bundling & Minification middleware

– Health Checks

– Distributed configuration

– API Authentication

– Proxy middleware, in support of API Gateway scenarios

– Http/2 in Kestrel

– Generic host support for Kestrel

3.0 Q1 2019 – Expand supported workload to include Windows Desktop, IoT & AI


Related articles