2)NET CORE特性与优势

0
13

 先看看netcore有哪些特性,哪些优点,与.net frameworkd 差异吧:

l 跨平台:可以在 Windows、macOS 和 Linux操作系统上运行。

l 跨体系结构保持一致:在多个体系结构(包括 x64、x86 和 ARM)上以相同的行为运行代码。

l 命令行工具:包括可用于本地开发和持续集成方案中的易于使用的命令行工具。

l 部署灵活:可以包含在应用或已安装的并行(用户或系统范围安装)中。可搭配Docker 容器使用。

l 兼容性:.NET Core 通过.NET Standard与 .NET Framework、Xamarin 和 Mono 兼容。

l 开放源代码:.NET Core 平台是开放源代码,使用 MIT 和 Apache 2 许可证。.NET Core 是一个.NET Foundation项目。

l 由 Microsoft 支持:.NET Core 由 Microsoft 依据.NET Core 支持提供支持。

API

.NET Core 公开了多种方案的 API,以下介绍了几种:

l 基元类型,例如bool和int。

l 集合:比如 System.Collections.Generic.List<T>和System.Collections.Generic.Dictionary<TKey,TValue>。

l 实用程序类型,例如System.Net.Http.HttpClient和System.IO.FileStream。

l 数据类型,例如System.Data.DataSet和DbSet。

l 高性能类型,例如System.Numerics.Vector和Pipelines。

.NET Core 通过实现.NET Standard规范提供 .NET Framework 和 Mono API 的兼容性。

.NET Core 包括以下部分:

l .NET Core runtime:提供类型系统、程序集加载、垃圾回收器、本机互操作和其他基本服务。

.NET Core 框架库提供基元数据类型、应用编写类型和基本实用程序。

l ASP.NET runtime:提供框架以生成基于新式云的 Internet 连接的应用程序,例如 Web 应用、IoT 应用以及移动后端。

l .NET Core CLI 工具和语言编译器(Roslyn和F#):提供 .NET Core 开发人员体验。

l dotnet 工具:用于启动 .NET Core 应用和 CLI 工具。它选择运行时并托管运行时,提供程序集加载策略并启动应用和工具。

这些组件采用以下方式分布:

l .NET Core runtime– 包括 .NET Core 运行时和框架库。

l ASP.NET Core runtime– 包括 ASP.NET Core 和 .NET Core 运行时以及框架库。

l .NET Core SDK– 包括 .NET CLI 工具、ASP.NET Core 运行时以及 .NET Core 运行时和框架。

.NET Core 和 .NET Framework 的主要差异在于:

l 应用模型– .NET Core 不支持所有 .NET Framework 应用模型。具体而言,它不支持 ASP.NET Web 窗体和 ASP.NET MVC,但支持 ASP.NET Core MVC。已宣布.NET Core 3 将支持 WPF 和 Windows 窗体。

l API– .NET Core 包含 .NET Framework 基类库的一个大型子集,但具有不同的组成要素(程序集名称不同;类型上公开的成员在关键用例中不同)。这些差异需要在某些情况下更改 .NET Core 的端口源(请参阅microsoft/dotnet-apiport)。.NET Core 实施.NET StandardAPI 规范。

l 子系统– .NET Core 实现 .NET Framework 中子系统的子级,目的是实现更简单的实现和编程模型。例如,不支持代码访问安全性 (CAS),但支持反射。

l 平台– .NET Framework 支持 Windows 和 Windows Server,而 NET Core 还支持 macOS 和 Linux。

l 开源– .NET Core 是开源的,而.NET Framework 的只读子集是开源的。

整体上看NETCORE有很好的发展前景,基于standard接口的,让我们用起来不会那么陌生。一些语法语法糖完全跟net framework一样。很多组件类库重新模块化,更加轻巧,性能更优(听说重新编译的VS性能提升几百倍?) 那么 不多说 干起来吧!

<

发布回复

请输入评论!
请输入你的名字