.NET Core 与 .NET Framework的关系

.NET Core与.NET Framework 关系

一 .NET 的 Framework 们

要理解.NET Core就有必要了解之前的.NET平台的众多Framework们。2002年微软公司发布的第一个.NET框架————.NET Framework,不久后又发布了.NET Compact Framework 用于在较小的移动设备(Windows mobile),而.NET Compact Framework 也含有一套类似.NET Framework 体系(Runtime, Framework,Application Model),它是一个复制精简版的.NET Framework。在数年间微软乐此不疲的推出了数个类似 .NET Framework的框架,以用于在不同的设备和平台上运行。每个Framework都有类似的体系但又不完全相同的,这样Framework越来越多,对开发者来说不一样的设备即便功能相同也需要维护多套代码,增加了开发的复杂度。

二 .NET Core的到来

微软对这些问题的重新思考和改进让.NET Core横空出世。.NET Core是一个开源的模块化的Framework,不管是开发web或移动设备都在同一个Framework(.NET Core)下运行,而且 .NET Core也可在不同的操作系统上运行,包括Windows、linux、MacOS,实现了跨平台跨设备。更棒的是.NET Core 在发布程序时不用事先安装Framework而是通过Nuget下载,这样在初次部署时就不用安装一个复杂而庞大Framework,而是按需下载。这种基于Nuget的按需加载铸就了.NET Core 跨平台。

1. Runtime

在.NET Core 中有实现两种RunTime,NativeRuntime 和 CoreCLR。NativeRuntime 将C# 或 VB.net 代码直接转换为原生机器码。而CoreCLR是一个开源的JIT运行时,会将代码编译成中间语言(IL)在最终运行时再转换机器码。

2. Unified BCL

Base Classlibrary即基础类,例如 FileSystem、Console、XML操作等。

3. Windows Store AppModel & ASP.NET Core 1.0

提供开发Windows系统的各种触屏设备和ASP.NET程序的一组基础库。

三 .NET Core 与 .NET 其他Framework的关系

1 .NET Core & .NET Framework

.NET Core & .NET Framework 都是 NET Standard Library 的实现,一种是跨平台,而另一种是Windows下特有的,除实现NET Standard Library外 .NET Core 和 .NET Framework 都有各自特有的实现。.NET Standard Library 是跨操作系统的关键所在,它定义了一组接口,而每个操作系统有各自的实现,.NET Core通过nuget可以动态下载当前操作系统的实现,从而实现跨操作系统(暨跨操作系统共享代码)。

.NET Core 更依赖于Nuget,允许本地application在部署时动态下载需要的class library。而.NET Framework需要在系统中预装。这样.NET Core的部署比.NET Framework 更简单快速同样也更轻便。

2 .NET Core & ASP.NET

ASP.NET Core Web Application(.NET Core)

依赖于.NET Core的ASP.NET 只可以调用.NET Core的API,可以在多个操作系统上运行。

ASP.NET Core Web Application(.NET Framework)

依赖于.NET Core & .NET Framework 的ASP.NET 可以调用.NET Core&.NET Framework的API ,只可以在Windows下运行。

3 .NET Core & Mono

Mono是.NET Framework的开源版本的实现,在某些特性上和.NET Core 很类似比如开源,跨操作系统。目前.NET CORE会从Mono上吸取经验,发展壮大最终可以更好的在除Windows外的其他操作系统上运行。另外Mone支持的App Models要比.NET Core多(例如Windows Forms)。

四 .总结

微软CEO萨提亚·纳德拉睿智的决定抛弃以PC为中心,拥抱各种设备和平台,成为一家软件服务型企业。为了达成这种愿景必须构建新的微软生态链,囊括Windows,Linux,OS X及其他操作系统,覆盖X86/ARM等处理器以及不同的设备(包括PC,Phone,全息眼镜及其他)。这些足见微软的“野心”。随着.NET Core 正式发布大战略迈出坚实的一步,让我们拭目以待吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值