摘要:.NET Core自3.1版本后概念被弱化,从.NET 5.0起始统称.NET
1.什么是.NET Core?
.NET 是微软推出的开发平台,是.NET Framework、.NET Core、Xamarin/Mono等的统称
.NET Framework 是Windows平台下开发技术,近20年历史
.NET Core 是免费、跨平台、开源的开发技术
Xamarin/Mono是移动端跨平台开发技术
2.为什么程序要跨平台?
存在使用成本、不同群体的适用等因素
3.Cloud Computing云计算
.NET Core 拥抱云计算,能动态管理服务器租用需求,按需供应。
Microsoft Azure 全球第二大云计算厂商
.NET Core为云而生,不止于云,不止于Azure
4.C#是.NET中主要的开发语言
5..NET Core不是.NET Framework的直接升级,但保留了其绝大部分的用法
6.用Mono可以使.NET Framework的程序直接运行在Linux下
7.由于.NET Framework存在的缺点和历史包袱,所以即使有了Mono也要推出.NET Core,以实现跨平台
.NET Framework的缺点
①系统级别的安装,使用同一个环境下的SDK,多个应用之间如果所需SDK得版本不同,会互相影响
②系统级别的安装,无法独立部署,对安装环境和SDK有依赖
③ASP.NET 和IIS深度耦合
④ASP.NET资源消耗大
⑤非云原生
简而言之,框架重,不满足云计算要求
.NET Framework的历史包袱太重了
①ASP.NET MVC基于WebForm,多年积累的束缚
②ASP.NET 底层不支持很好的单元测试和依赖注入等
8.Mono多用于移动端
9..NET Core的优点
①支持独立部署,不互相影响
②彻底模块化
③没有历史包袱,运行效率高
④不依赖于IIS
⑤跨平台(存在部分Windows-Only的特性技术)
⑥符合现代开发理念:依赖注入、单元测试等
10..NET Core和.NET Framework的不同
①不支持:ASP.NET WebForms、WCF服务器端、WorkFlow、.NET Remoting、Appdomain
②.NET Core存在部分Windows-Only的特性的技术,无法跨平台
WinForm、WPF、注册表、Event Log、AD等
11.对于.NET Core使用的必要性
①旧的项目,非必要不迁移
②.NET Core已经足够成熟,新项目可以放心使用