2)NET CORE特性与优势
先看看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 集合:比如 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 Standard API 规范。
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性能提升几百倍?) 那么 不多说 干起来吧!
2)NET CORE特性与优势的更多相关文章
- java的特性与优势
java的特性与优势 简单性 面向对象 可移植性 高性能 分布式 动态性 多线程 安全性 健壮性
- Java的特性和优势以及不同版本的分类,jdk,jre,jvm的联系与区别,javadoc的生成
Java 1.Java的特性和优势 Write Once,Run Anywhere 简单性 面向对象 可移植性 高性能 分布式 动态性 多线程 安全性 健壮性 2.Java的三大版本 JavaSE:标 ...
- Day002 Java特性和优势
Java特性和优势 简单性(摒弃了c++的指针和内存分配释放) 面向对象(万物皆对象) 可移植性(write once run anywhere) 高性能 分布式 动态性(反射机制) 多线程 安全性 ...
- Java特性和优势
Java特性和优势 简单性 面向对象性 可移植性 高性能 分布式 动态性 多线程 安全性 健壮性
- Redis的特性以及优势(附官网)
NoSQL:一类新出现的数据库(not only sql) 泛指非关系型的数据库 不支持SQL语法 存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是KV形式 NoSQL的世 ...
- 8.Java的特性和优势
简单性:可以说Java是C++语法的纯净版,没有头文件,没有指针运算,也不用分配内存. 面向对象:是一种程序设计技术,它将重点放在对象以及对象的接口上,模拟人的思维写程序,所以人去学习非常快.因此,J ...
- 第一周--------Java的特性和优势
--------我认可的1.跨平台性: Java 的int 永远是32位,不像C++可能是16.,32 可能是根据编译器厂商规定的变化.这样的话,程序的移植就会变得困难2.安全性 Java ...
- Jexus针对Asp.net core应用程序的六大不可替代的优势
1,配置简便:在Jexus上,Asp.net core只是Jexus上的一个"站点",因此,只需在Jexus上配置这个站点就行,无需其它配置: 2,操作统一:Jexus停止这个站点 ...
- 向ASP.NET Core迁移
有人说.NET在国内的氛围越来越不行了,看博客园文章的浏览量也起不来.是不是要转Java呢? 没有必要扯起语言的纷争,Java也好C#都只是语言是工具,各有各的使用场景.以前是C#非开源以及不能在Li ...
随机推荐
- 模拟25A 题解
A. Lighthouse m的范围极小,显然的容斥. 总的方案数,减去受任意一个限制的方案数,加回受两个限制的方案数. 就能得到受所有限制的的方案数. 将选择的一些边所指向的点放在同一个联通块里. ...
- JDBC Api详解
一.什么是JDBC JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...
- Android Sensor 架构深入剖析【转】
本文转载自: 1.Android sensor架构 Android4.0系统内置对传感器的支持达13种,它们分别是:加速度传感器 (accelerometer).磁力传感器(magnetic fiel ...
- pygis库组件安装相关问题
python -m pip install --upgrade pip
- JAVA | Java对象的内存分配过程是如何保证线程安全的?
JAVA | Java对象的内存分配过程是如何保证线程安全的? 专注于Java领域优质技术,欢迎关注 作者 l Hollis 来源 l Hollis(ID:hollischuang) JVM内存结构, ...
- SoapUI: 从属性变量里面读取值, 把string 转换成arraylist
- springboot响应消息(http)的编码设置
一.方式一 在单个REST接口上设置 @ResponseBody @RequestMapping(value = "sys/getTree1",method = RequestMe ...
- java8学习
1.Function函数 public static void main(String[] args) { TestController t = new TestController(); new T ...
- 011-MySQL Query Cache 查询缓存设置操作
一.概述 MySQL Query Cache 会缓存select 查询,安装时默认是开启的,但是如果对表进行INSERT, UPDATE, DELETE, TRUNCATE, ALTER TABLE, ...
- [Golang] go modules使用
关于go modules的使用外面的教程实在太多了,我这里只讲下我自己使用的三种情形. 准备工作: 1.新建个文件加gomod_test. 2.在这个目录输入命令 go mod init gomod_ ...