.Net Core summary

First, what is .NET Core

.NET Core is an open source common development framework that supports cross-platform, which is to support the development and deployment in the Window, macOS, Linux and other systems, and can be use in hardware devices, cloud services, and embedded / scheme of things .

.NET Core source code on GitHub, jointly supported by Microsoft official and community.

Because .NET Core's goal is to develop a cross-platform .NET platform, .NET Core contains some of the .NET Framework class library (in .NET Core after 3.0, ported from the .NET Framework is no longer any function a), However, the .NET Framework uses .NET Core difference is packetized (the packages) management, the application only needs to obtain the desired components, prior to encapsulation if it is necessary to dll packaging, a packaging: the control package management nuget Taiwan execution: dotnet pack, resulting .nupkg files are copied to the package directory, install it, to complete the packaging process. .

Second, why should understand .NET Core

Now if you are a .NET developer, or you are learning .NET, or if you intend to engage in the future direction of development of .NET, the .NET Core is essential, it can be said to be a skill.

.NET Core .NET is a major turning point in the future, it is also .NET development and .NET Core has appeared on the recruitment needs of many .NET positions, which explains the .Net Core gradually developed.

Three, .NET Core characteristics

1, cross-platform

It can run on Windows, macOS and Linux operating systems.

2, cross-architecture

On multiple architectures (including x64, x86 and ARM) run the code to the same behavior.

3, command line support

Including commands for easy local development and continuous integration scheme using the line tool.

4, flexible deployment

Can be included in a separate application, user environment or computer environment (such as for Windows systems, IIS, windows service and console), but also with Docker containers.

5, compatibility

.NET Core by .NET Standard with the .NET Framework, Xamarin (cross-platform development framework, the goal is to use C # to develop iOS, Android and Windows Phone native applications) and Mono (open source project to create a dedicated use of .NET on Linux ) compatible.

6, Open Source

.NET Core is an open platform using the MIT open source license and the Apache 2 license.

Four, Framework and .NET relationship

.NET Core & .NET Framework .NET Standard Library are realized, the former is cross-platform, which is unique under Windows, in addition to achieving .NET Standard Library external .NET Core and the .NET Framework has its own specific implementation.

For .Net Core speaking, .NET Standard Library is the key to cross-operating system, which defines a set of interfaces, each operating system has its own implementation, .NET Core can be dynamically downloaded to realize current operating system by nuget, in order to achieve cross-operating system.

From the perspective of future development point of view, .NET Core .NET Framework is the next generation of products, the .NET Framework version 4.8 is still, .NET Core version 3.1. Microsoft has announced, .NET Core 3.1 is the next version of .NET 5, that is .NET 5 is the next version of .NET Core.

 

.Net Framework and .Net Core architecture diagram

 

Five, .NET Core roadmap

.NET Core是由Microsoft开发,目前在.NET Foundation(一个非营利的开源组织)下进行管理。.NET Core是用C#和C++编写的,并采用MIT协议作为开源协议。第一个版本的.NET Core 1.0是在2016年发布的,功能有限。NET Core 2.0于2017年8月14日发布。在这个版本中发布的两个核心框架是ASP.NET Core2.0和 Entity Framework Core 2.0。下一个稳定版本.NET Core 2.1和2.2于2018年5月和12月发布。.NET Core的当前版本为3.1。

下表总结了.NET Core的主要里程碑:

版本

发布日期

关键特征/产品

.NET Core 1.0

6/27/2016

Visual Studio 2015 Update 3支持的.NET Core的初始版本。

.net Core 1.1.1

3/7/2017

.NET Core Tools 1.0受Visual Studio 2017支持

.NET Core 2.0

8/14/2017

Visual Studio 2017 15.3,ASP.NET Core 2.0,实体框架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预览3

3/6/2019

通过VisualStudio2019支持ASP.NET Core 3.0、EF Core3.0、UWP、Windows窗体、WPF

.NET Core 3.1

19年8月

对3.0新增功能的优化

六、.NET Core 3.0 新增功能

1、C# 8.0 也是该版本的一部分,它包含可为空引用类型功能、异步流。

2、支持 WinForms 和 WPF

这是否意味着它在Linux和Mac上运行?

不!由于WinForms和WPF在后台仅使用Windows技术,因此无法在Linux或Mac上运行,它依赖于Windows。在.NET Core上运行它的意义在于提升性能并且独立于任何框架。.NET Core针对性能进行了优化,因此您可以在云中运行超快的Web应用程序。.NET Core也独立于计算机上安装的框架。只需将运行时与应用程序一起部署即可。

3、ASP.NET Core 3.0

4、EF Core 3.0

5、.NET Core 是在云原生背景下诞生一个开发平台,而在.NET Core 3.0 更加完善,具体内容:

  • 体积更小:对于微服务分布式架构而言,更小的体积意味着更少的下载带宽,更快的分发下载速度,.NET Core 的镜像体积都很小。
  • 启动速度更快:对于传统单体应用,启动速度与运行效率相比不是一个关键的指标。原因是,这些应用重启和发布频率相对较低。然而对于需要快速迭代、水平扩展的微服务应用而言,更快的的启动速度就意味着更高的交付效率,和更加快速的回滚。尤其当你需要发布一个有数百个副本的应用时,缓慢的启动速度就是时间杀手。对于 Serverless 应用而言,端到端的冷启动速度则更为关键,即使底层容器技术可以实现百毫秒资源就绪,如果应用无法在 500ms 内完成启动,用户就会感知到访问延迟。
  • 占用资源更少:运行时更低的资源占用,意味着更高的部署密度和更低的计算成本。.NET Core的 CLR启动速度非常快,降低启动时资源消耗,可以减少资源争抢。
  • 支持水平扩展:.NET Core 3.0 更好的支持Docker资源限制,官方团队也在努力让.NET Core成为真正的容器运行时,使其在低内存环境中具有容器感知功能并高效运行。随着内存成本的下降和虚拟化的流行,大内存配比已经成为趋势。所以我们一般是采用水平扩展的方式,同时部署多个应用副本,在一个计算节点中可能运行一个应用的多个副本来提升资源利用率。

.NET Core 3.0 是快速的。与.NET Framework和.NET Core 2.2及以前的版本相比,.NET Core 3.0的速度很快。.NET Core比其他服务器端框架(如Java Servlet和Node.js)快得多。

 

七、.NET Core 3.1 变化

.NET Core 3.1 中的更改​​主要集中在 Blazor 和 Windows Desktop,这是 .NET Core 3.0 中的两个新增特性

(Blazor是一个WebUI框架,可通过WebAssembly在任意浏览器中运行.Net.)

NET Core 3.1要求Visual Studio 2019 16.4才能充分利用其所有功能。.NET Core 3.1在早期版本的Visual Studio中将无法正常工作。

八、.NET Core构建哪些类型的应用程序

.NET Core是一个通用的软件开发框架。它允许开发人员构建各种软件,包括Web,桌面,移动,云,游戏,物联网等。与其他框架不同,.NET Core并不局限于单一的编程语言,它支持C#、VB.NET、F#、XAML和TypeScript。

 

.NET Core更适合跨平台需求。.NET Core应用程序支持在Windows,Linux和macOS上运行。Linux和macOS上也都支持Microsoft流行的开源代码编辑器Visual Studio Code。VS Code支持代码编辑器的现代需求,包括智能提醒和调试。大多数第三方编辑器(如Sublime,Emacs和VI)都支持.NET Core。

Guess you like

Origin www.cnblogs.com/cuigzh/p/12106508.html