.NET Core is a free, open-source, modular, cross-platform framework developed by Microsoft for building modern, high-performance applications. It is a reimplementation of the .NET Framework to be more lightweight, modular, and flexible.
.NET Core includes a runtime, a set of libraries, and a development environment that supports multiple programming languages such as C#, Visual Basic, and F#. It is designed to run on various platforms, including Windows, macOS, and Linux. It can be used to build a wide range of applications, including web applications, desktop applications, and microservices.
One of the key benefits of .NET Core is that it is modular, which means you can use only the components you need for your application, making it more lightweight and faster. Additionally, .NET Core includes many performance improvements over the .NET Framework, including faster startup times and lower memory usage.
History of .NET Core
.NET Core, developed by Microsoft, is managed under the .NET Foundation, a non-profit open source organization. .NET Core is written in C# and C++ and licensed under MIT license. The first version, .NET Core 1.0, was released in 2016 with limited functionality. .NET Core 2.0 was released on August 14, 2017. Two key frameworks released in this release were ASP.NET Core 2.0 and Entity Framework Core 2.0. The next stable versions, .NET Core 2.1 and 2.2, were released in May and Dec 2018. The current version of .NET Core is 3.0.0, in Preview 3, and was announced on March 6, 2019.
The following table summarizes the major milestones of .NET Core:
Version |
Release date |
Key features/products |
.NET Core 1.0 |
6/27/2016 |
The initial release of .NET Core is supported by Visual Studio 2015 Update 3. |
.NET Core 1.1.1 |
3/7/2017 |
.NET Core Tools 1.0 supported by Visual Studio 2017 |
.NET Core 2.0 |
8/14/2017 |
Visual Studio 2017 15.3, ASP.NET Core 2.0, Entity Framework 2.0 |
.NET Core 2.1 |
5/30/2018 |
ASP.NET Core 2.1, EF Core 2.1 |
.NET Core 2.2 |
12/4/2018 |
ASP.NET Core 2.2, EF Core 2.2 |
.NET Core 3.0 Preview 3 |
3/6/2019 |
Support of ASP.NET Core 3.0, Entity Framework Core 3.0, UWP, Windows Forms, and WPF via Visual Studio 2019. |
Characteristics of .NET Core
Key characteristics of .NET Core include open source, cross-platform, modern, flexible, lightweight, fast, friendly, shareable, and built for future software development.
.NET Core is Free and Open Source.
The .NET Core platform is free and open source. .NET Core source code project is available on GitHub. Any developer can get involved in .NET Core development. Thousands of active developers participating in .NET Core development are improving features, adding new features, and fixing bugs and issues.
An independent non-profit organization manages .NET Core called the .NET Foundation. More than 60,000 developers and 3,700 companies are contributing to the .NET ecosystem.
.NET Core is free and licensed under MIT and Apache licenses.
.NET Core is Cross-platform.
.NET Core supports and runs on Windows, macOS, and Linux operating systems. .NET Core is consistent across architecture, including x64, x86, and ARM. The same assemblies and libraries can be imported and used on multiple platforms. The assemblies and libraries are built using one of the .NET languages, C#, VB.NET, or F#.
.NET Core is Sharable.
.NET Core uses one consistent API model written in .NET Standard that is common to all .NET applications. The same API or library can be used with multiple platforms in multiple languages.
.NET Core is Modern.
Unlike some older frameworks, .NET Core is designed to solve today's modern needs, including being mobile friendly, build once run everywhere, scalable, and high performance. .NET Core is designed to build applications that target all kinds of devices, including IoTs and gaming consoles.
.NET supports modern language constructs with the help of C# version 8, like object-oriented and modular programming, generics, collections, lambdas, Language Integrated Query (LINQ), and asynchronous programming, which makes developers productive. Learn more about C# 8 features here C# 8 Features.
Visual Studio 2019 and Visual Studio Code are the world's two most advanced and modern developer IDEs. Both IDEs support modern needs and focus on cleanness, speed, and productivity. Learn more about Visual Studio 2019 features here: Visual Studio 2019 New Features.
.NET Core is Fast.
.NET Core 3.0 is fast. Compared to the .NET Framework and .NET Core 2.2 and previous versions, .NET Core 3.0 is blazing fast. .NET Core is much quicker than other server-side frameworks such as Java Servlet and Node.js.
According to a report published by TechEmpowers, .NET Core is much faster than any other framework. TechEmpower benchmark compares Web application frameworks for tasks such as database access for a single query, multiple queries, fortunes, data updates, plaintext, and JSON serialization.
.NET Core is Lightweight.
.NET Core is lightweight. .NET Core can be included in your app or installed on a server side-by-side user, machine-wide, or. In addition, the .NET Core can be deployed in Docker containers.
.NET Core is Friendly.
.NET Core is compatible with .NET Framework, Xamarin, and Mono, via .NET Standard. .NET Core also supports working with various popular Web frameworks and libraries such as React, Angular, and JavaScript. TypeScript is one of the key components of the .NET Core and Visual Studio ecosystem.
What types of apps can we build using .NET Core?
.NET Core is a general-purpose software development framework. It allows developers to build all kinds of software, including Web, Desktop, Mobile, Cloud, Gaming, Internet of Things, and more.
The .NET Core is better suited for cross-platform needs. .NET Core apps are supported on Windows, Linux, and macOS. Microsoft's popular open-source code editor, Visual Studio Code, is not supported on Linux and macOS. VS Code supports the modern needs of code editors, including IntelliSense and debugging. Most third-party editors, such as Sublime, Emacs, and VI, work with .NET Core.
Web Applications
ASP.NET Core is a core component of the .NET Core ecosystem. ASP.NET Core is a framework for building web pages. ASP.NET Core is based on MVC architecture and provides common libraries to build the Web.
Razor is a new framework for building dynamic web pages using C# and TypeScript. Razor is a game-changing technology that allows C# developers to build Web apps in C#.
Mobile
Mobile development is a key offering of .NET Core. Xamarin is a set of tools and libraries for building cross-platform mobile apps using C#. Xamarin allows developers to build native iOS, Android, Windows, and macOS apps on a shared .NET codebase.
Desktop Applications
.NET Core provides various frameworks and tools to build Desktop applications. Windows Forms, WPF, UWP, and Xamarin are four major frameworks for building desktop applications. .NET Core also supports interoperability between these frameworks.
Windows Forms is a technology to build Windows desktop applications. Windows Forms was one of the first components of the .NET Framework.
WPF (Windows Presentation Foundation) is a newer technology to build Windows desktop applications. WPF was released as a part of the .NET Framework version
UWP technology was released after Windows 8. Today, UWP has matured. UWP uses XAML for the presentation layer (UI) and C# as the backend programming.
Microservices and Containers
Microservices are a new design pattern that allows developers to build small modules of software services that can communicate with each other using well-defined contracts. Microservices make it easier to develop, test, and deploy isolated parts of your application. Once deployed, each microservice can be independently scaled as needed. Microservices architecture is supported in .NET Core, which allows cross-platform services to work with .NET Core, including services developed with .NET Framework, Java, Ruby, or others.
Containers are the VMs of today. .NET Core's modularity, lightweight, and flexibility make it easier to deploy .NET Core apps into containers. Containers contain an app and all configuration files and dependencies into a single, small, and independently deployable software unit. Containers can be deployed on any platform, cloud, Linux, and Windows. .NET Core works well with Docker and Azure Kubernetes Service.
Cloud Apps
Cloud Apps are growing in popularity these days. Azure supports all cloud apps. .NET Core and C# apps can be deployed on Azure via Visual Studio 2019.
Internet of Things
IoT apps are growing. .NET Core supports IoT development via the UWP framework for IoT devices running Windows 10 IoT Core. UWP can be used to build apps that run on IoT powered by Raspberry Pi, MinnowBoard MAX, DragonBoard 410c, and others.
Machine Learning
Machine Learning is a growing area for software developers.
Games
Unity is one of the most popular game development frameworks. C# and UWP are used to build mobile, desktop, console, TV, VR, AR, and Web games.
What is New in .NET Core 3.0?
The latest version of .NET Core, 3.0, was just released. C# 8 and Windows Desktop are two significant additions to this release.
C# 8 is the latest version of the C# language. C# 8 is a part of .NET Core. C# 8 adds new features, including C# 8 Features
Windows Desktop is a new addition to .NET Core 3.0 that allows developers to build Windows desktop applications using Windows Forms, WPF, and UWP.
Here is a list of other features and enhancements in .NET Core 3.0,
- MSIX Deployment for Windows Desktop
- MSIX is a new Windows app package format. It can deploy .NET Core 3.0 desktop applications to Windows 10.
- Fast built-in JSON support
- IEEE Floating-point improvements
- .NET Platform Dependent Intrinsics
- Framework-dependent executables support
- Build copies dependencies
- Assembly Unloadability
- Windows Native Interop
- TLS 1.3 & OpenSSL 1.1.1 on Linux
- Improved Cryptography
- SerialPort for Linux
- ARM64 Linux support
- GPIO Support for Raspberry Pi
Learn more
Next: .NET 5 is the Future of .NET. What Every Developer Must Know.