架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10706|回复: 1

[交流] .Net Core 真能令微软的.Net 跨平台“蔓延”?

[复制链接]
发表于 2016-6-28 09:56:21 | 显示全部楼层 |阅读模式
什么是.Net
.Net 本身就是基于公共语言基础架构(CLI)实现的平台独立的公共语言开发平台,只是自2006年成为规范以来的CLI,只有windows自己支持(mono除外),包括开发语言C#,VB.Net等,还有CLI的实现,.Net Framework 。其核心部分是基于Windows对CLI的虚拟执行系统(VES)的实现。 它应该相当于Java的虚拟机.
C#开发的.Net App为什么不能跨平台
公共语言基础架构(CLI)本身就是为跨平台设计的。但当初,微软应该是出于Windows的垄断考虑,根本就没打算基于其他的OS实现VES,所以C#的developer基本上都是Windows的developer了。C#的开发的应用系统基本上是基于Windows平台运行。
.Net Core 是什么,其如何实现跨平台
其实只要基于Linux实现CLI,主要是其VES,C#开发的app就可以在Linux上运行。 当然,由于过去的.Net Framework提供了很多特定于Windows上的UI框架 如WPF,Windows Forms,基于这些框架的APP只能是理论上可以在Linux上运行,但实际支持的代价会比较高,或许根本不现实。
所以, .Net Core诞生了。.Net Core就是对.Net Framework进行的裁剪 (把上述UI相关的framework去除),实现的一个类似于JRE一样的CLR,然后同时实现多个OS的VES,从而实现了跨平台。
微软为什么需要.Net Core
微软之所以愿意这么做,在某种程度上说,是被逼的,或者说是顺应历史潮流而为之。在当下,风起”云“涌的大环境下,得益于Azure,微软顺利从业已衰弱的Windows业务顺利转型到云服务提供商。而作为其所提供的云服务模式之一PaaS,必须能提供客户需要的OS,不仅仅是Windows。那么它当然希望Azure上的不同的操作系统运行的都是使用自己提供的开发技术开发的应用咯。
.Net Core 前景会风光无限吗
可是,通过虚拟执行环境实现开发的应用跨平台运行,JAVA从其诞生之日起就是这么做的。而时至今日,很多语言新秀争奇斗艳,被Oracle收购的JAVA都日渐容颜渐老了。。。 C#真能依靠才实现了跨平台的.Net Core焕发第二春?
参考
CLI Specification
http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-335.pdf





上一篇:.NET Core是什么?
下一篇:c# Http访问帮助类,支持get post请求文件下载

本帖被以下淘专辑推荐:

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2016-11-23 22:48:34 | 显示全部楼层
微软发功了。。。
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-25 01:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表