段落内容:.NET CORE是由微软推出的,对.NET Standard标准的实现,是免费、开源托管的跨平台计算机软件框架。
这个答案很标准,不过和我们听惯了的那种人话有点差异。所以我们需要弱弱的追问一句:到底什么是.NET CORE?
注意:
没问题,我们来一点点提取关键字,并翻译成人话:
1、.NET CORE是计算机软件框架。简而言之也就是说,是提供给我们这些开发人员用的,供我们进行各种各样应用系统开发的底层类库和开发框架。
人话:给程序猿Coding用的。
2、.NET CORE是微软推出的。我们知道,微软是是位于牛A和牛C之间的传说级的存在,是整个.NET平台的亲爹。
而.NET CORE,是他亲爱的幺儿。
换成人话也就是:
.NET CORE,他爹是李刚,哦不,是比尔盖茨。
也就是这位大佬:
.NET Core从属于.NET基金会,由微软进行官方支持。
3、.NET CORE是免费、开源的。
这还有啥说的?
不要你的钱+随你怎么用=就问你Care不Care?
段落内容:.NET Core使用最宽松的MIT和Apache 2开源协议,文档协议遵循CC-BY。这将允许任何人任何组织和企业任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版 权和许可提示,后者协议将会除了为用户提供版权许可之外,还有专利许可,并且授权是免费,无排他性的(任何个人和企业都能获得授权)并且永久不可撤销,相较于oracle对java和mysql的开源协议微软做出了最大的诚意。
4、.NET CORE是跨平台的。
.NET CORE当前适用于Windows、Linux 和 MacOs 操作系统,未来也将会支持 FreeBSD 与 Alpine 平台。
-----我是妖娆的分割线-----
扩展知识:关于.NET Standard在上一节中,我们还提到了一个关键词叫做.NET Standard。
那么,.NET Standard是什么呢?
微软给我们的答案是:
.NET Standard 是一套正式的 .NET API 规范,有望在 所有 .NET 实现中推出。 推出 .NET Standard 的背后 动机是要提高 .NET 生态系统中的一致性。
如前所述:.NET CORE是对.NET Standard标准的实现。
这也就是说:
- 1、.NET Standard和.NET CORE之间的关系,类似于HTML规范和EDGE/CHROME浏览器之间的关系。后者是对前者的具体实现。
- 2、.NET Standard是由微软提供的一套标准/规范。.NET平台下为我们提供的软件框架,无论是.NET Core还是我们之前更多使用的.NET Framework,都需要吻合并实现这套标准/规范。
.NET Standard的价值在于:
- 1.为要实现的所有 .NET 实现定义一组统一的、与工作负荷无关的 BCL API。
- 2.使开发人员能够通过同一组 API 生成可在各种 .NET 实现中使用的可移植库。
- 3.减少甚至消除由于 .NET API 方面的原因而对共享源代码进行的条件性编译(仅适用于 OS API)。
当前.NET核心系统架构:
微软关于.NET Standard的介绍页面在点击查看
段落内容:.NET Standard之所以重要,一定程度上是由于微软在这里向我们展示了什么才是真正的架构,以及架构师到底应该做什么。如同.NET Standard,它并没有具体的代码实现,但它为.NET CORE、.NET Framework以及Xamarin这些.NET Standard标准的实现提供了一个明确到命名空间、类和方法的名称,以及方法应实现的具体功能和调用方式的代码框架。换而言之,一名合格的架构师应提供给一线代码人员的也是类似的东西。架构师可以不去写代码,但应该将项目或者客户的需求分解成为一个以具体方法或小粒度的有明确说明的功能片段所组成的,结构合理目标明确分工合理的框架并提供给一线人员。这就是所谓的“架构”。
最常见的误解最常见的误解莫过于:
.NET Core是.NET Framework的升级版本。
以及由此派生出的:
我们的.NET Framework老项目是否应该升级到.NET CORE?
如前所述,
- 首先:.NET CORE和.NET Framework是.NET Standard的不同实现,他们之前是平行的关系。也就是说,改写是可以的,但是不存在升级的问题。
- 其次,不可否认,由于.NEt Standard的存在和有效约束,.NET CORE和.NET Framework之间有着非常好的代码通用性,同时.NET CORE比之出现更早的.NET Framework也的的确确有着诸多更优良的特性。所以,在确有必要的情况下,把原有的.NET Framework项目改为.NET CORE是有可行性的,而且比起改成JavaPython等等,成本上显然有着绝对优势。
- 其三,但也不等于原有的.NET Framework项目都有改为.NET CORE的必要。这不但会涉及到改造本身的成本、项目团队成员的学习成本,同时也应该注意,.NET CORE比之.NET Framework有相当数量是体现在能够更好地配合微服务、面向领域编程等涉及开发架构和编程理念方面的。这些方面处理得好,.NET Framework未必没有自己的惊艳表现;同样的,如果这些方面没有改进,仅仅将.NET Framework强行改为.NET CORE,也未必不是自找麻烦和画虎不成反类犬。
最后还有一条:
预期于2020 年 11 月发布,并在 2020 年上半年推出第一个预览版的.NET 5,是.NET CORE和.NET Framework共同的升级版本。
后续课程预告第二讲将开始搭建我们的课程项目,为我们的第一个大知识点:WEB API和Swagger的使用做好准备。