浅显易懂地揭开.Net生态系统的神秘面纱!

提到.net的时候,大多数人的第一反应可能就是.net framework和visual studio。.net framework的第一个版本发布与2002年2月13日,这对于科技发展日新月异的时代,这差不多已经可以看做是史前文明了。
.net framework发布之后,微软就一直致力于让它成为现代web、移动和云时代的可用性开发平台。这也促成了.net core 2和.net standard 2.0的发展,但是这种快速发展也往往让人们开始对庞大的.net 生态系统感到困惑。
.net生态系统混乱 我们都知道.net框架,但是它是如何在基类库中工作的呢?什么是便携式类库?什么时候使用?.net core又是什么呢?与.net framework有什么不同呢?什么又是.net standard?如何安装?如何建立一个可重用的库呢?
上面的所有因素都会在你为项目选择的时候造成困扰。什么是.net标准类库,.net core或.net framework?什么是共享项目和可移植类库?你应该在哪里集中精力?是否应该学习一切,放弃旧知识?如何选用runtime?……这些都是在开始下个项目或者学习新技术之前都需要了解的关键问题,所以本文将尽力在文中回答这些问题。
.net生态系统解释
为了满足现代应用的需求,.net生态系统正在经历不断的升级改造,下图是.net生态系统的现状:
.net框架
.net生态系统中最古老也最致命的runtime就是.net framework。这也是大家容易混淆的地方,很多人一听.net framework就自然的认为这是一个框架,当然它是框架,但也是个平台,所有的runtime都是这样的。
正如前文所述,.net framework自2002年诞生以来,表现一直很抢眼,用户可以使用它来构建wpf、windows窗体、asp.net窗体和mvc应用程序。
.net framework可以构建多种类型的应用程序,但主要以windows为中心的。这是这是因为.net framework为某些应用程序类型使用了某些特定于windows的api。
.net core
.net core于2016年发布,可用于创建asp.net core和通用windows平台(uwp)应用程序。支持跨凭条和并发配置,这意味着可以在同一台计算机上运行多个版本的.net core,它很小,性能很好。
.net core不是.net framework的新版本,它只是一个可用于某些用例的不同版本。.net core不会取代.net framework。
momo for xamarin
momo runtime本身也是.net framework的跨平台实现,可以运行各种应用程序,如控制台和windows窗体应用程序。因为本文重点介绍.net生态系统,所以mono的讨论将集中在xamarin。
xamarin从2011年开始运行,可创建适用于ios,macos和android的应用程序。它可以通过移动平台来构建和运行原生或者接近原生的应用程序。xamarin的mono运行时可使用ios和android的特定api,构建xamarin.mac应用程序。
.net standard
上面三个runtime都是实现.net standard的。.net standard是.net api的一个规范,它为每个.net运行时提供了实现。因此,为这个runtime创建的代码也可以由另一个runtime来执行。
工具和基础设施
所有runtime都需要使用工具和基础设施来编译和运行代码,这其中包括c#、vb.net和f#等耳熟能详的语言都可以在runtime中运行。构建工具包括msbuild、common language runtime(clr)和coreclr等。
运行时比较
下面我们来比较一下三种runtime的不同,例如工作负载、安装方式、用途等等方面。
结论
本文中所提到的所有内容都可以被称之为.net开发平台。
.net framework,.net core和mono是runtime,它们还包含用于构建应用程序的库和框架。
.net standard library 是一组api规范,它不是用户下载和安装的东西,而是描述api和api做什么的规范。
最后,基础设施是指让上面所有的东西可以工作,它包含编译器,语言和运行时组件,如垃圾回收器和即时编译。
.net生态系统看起来很复杂,但是当你这样把它们一一分解开来,那么你就会发现微软如何改造其生态系统,并使之永葆活力和生命力。

工业互联网架构2.0体系正在制定
ISS预期2010年存储器供应偏紧
启扬安卓智能快递柜中控机解决方案
工业4.0引领制造业步入云端革命
创通联达推出智能模组产品TurboX CM2290/C2290 SOM
浅显易懂地揭开.Net生态系统的神秘面纱!
超声波液位传感器的组成及工作原理
单片机的组成和指令系统与汇编语言程序及CPU和存储器等常见问题说明
中国电信公布其5G套餐资费,从199元到599元不等
一款基于定制ASIC芯片设计的低功耗柔性智能手势识别系统
电磁屏蔽和导热材料及器件产业分析
如何操作电子拉力试验机进行软包装材料抗刺穿性测试?解析测试流程!
骨传导耳机哪个牌子好、最好的骨传导蓝牙耳机品牌
为什么消耗相同电流的情况下有电感的电路带宽高?
因时机器人的技术内核与应用实力究竟如何
加大对工业互联网底层控制系统的关注
锂电池负极材料商翔丰华创业板IPO获受理
投20亿!木林森拟建Mini/MicroLED项目,前三季度净利润达3.5亿元
初创企业CloudMinds被禁止向中国共享美国技术
英伟达成半导体行业新收入冠军