.NET Core 1.0发布:微软开源跨平台大布局序幕

在6月27日的红帽DevNation峰会上,微软正式发布了.NET Core 1.0、ASP.NET 1.0和Entity Framework Core 1.0,这些产品将全部支持Windows、OS X和Linux三种操作系统。其中.NET Core最受瞩目,这是一款跨平台、开源且模块化的.NET平台,可以用来搭建web应用、微服务、创立应用库和控制台。

本次发布的包括.NET Core Runtime、框架库及相关工具,和ASP.NET Core库。

.NET Core开源的由来

早在2004年,Xamarin公司的前身,Novell就开始研发如何实现.NET的跨平台化研发。Mono Project开源项目应运而生,陆续实现了在大部分Linux版本、Android甚至一些游戏开发平台上运行.NET应用。.NET Framework作为专利产品,Mono Project在一定程度上触犯了微软;这种做法因此也曾一度引起开源社区的广泛争议。

2014年,微软改变了.NET技术的发展策略,在connect();大会上发布开源.NET Core,称.NET Core的愿景是成为所有平台的单一代码库。2016年3月,微软正式收购Xamarin公司,其所有的Mono Project采用 MIT协议开源。

2016年6月27日,微软正式发布.NET Core 1.0。经过微软与红帽一年的合作,Linux企业版已支持.NET Core 1.0的全部特性;微软终于用实际行动证明了其打破Windows封闭局面的决心。

.NET Core的技术细节

.NET Core由以下组成:

  • .NET runtime:提供运行环境,汇编码加载,垃圾回收等基础服务。

  • 框架库:完全整合传统的.NET标准库。提供基础数据类型和不同类型应用的基础组件等。

  • .NET Core SDK:相关系列的SDK工具和语言编译器

  • .NET Core应用的命令行工具集。

而.NET Core的开发工具及平台,除了传统开发工具集的Visual Studio,开发人员还可使用红帽公司OpenShift的PaaS平台和微软的跨平台Visual Studio Code编辑器,后者可以运行于Linux、OS X和Windows系统。需要说明的一点是.NET Core 1.0目前仅支持红帽的企业版Linux。

.NET Core被视为.NET Framework的新一代版本。与现有的.NET Framework在使用上的区别是:.NET Framework采用大包式安装的方式,而.NET Core则是采用套件化(Packages)的管理方式,写应用程序只需要调用所需组件即可。

给开发人员和企业带来的好处

对开发者而言,这意味着更多的开发自由度:开发人员可以通过使用.NET Core快速搭建跨平台的应用。同时,还可以充分发挥.NET发展十四年来沉淀下来的特有优势。

微软在GitHub上面公布了与同类语言工具的对比检测结果,称使用.NET Core构建的应用运行速度是Node.js的八倍,Go的三倍,将会缩短响应时间、减少系统资源消耗。

此外,还可以使用C#支持的LINQ语言集成查询,少量代码即可实现对数据源执行复杂的筛选、排序和分组操作。以查询数据库的方式操作内存数据,使用基本查询表达式模式进行查询和转换 SQL 数据库、ADO.NET 数据集、XML 文档和流以及 .NET 集合中的数据。

对于企业而言,.NET Core跨平台意味着,在不改变架构的前提下,非Windows Server也可以运行.NET应用,.NET Core的工作流,可以被导入到Red Hat企业版Linux或者Windows Server;并且,这将为微服务构架提供更多的可能性,组件的语言开发可以是既有.NET又有Java,并运行同一个平台。

微软和红帽的初衷

对于微软而言,首先,这与微软扩张跨平台云愿景相符。微软称其重新梳理.NET,为的是顺应当今的云应用、微服务和容器技术技术趋势。其次,也可延续微软现有项目和产品,如Xamarin的微软开源项目、Windows Phone的开发、.NET Framework和ASP .NET等。

而对于红帽,这可以帮助其商业版的Linux以及OpenShift平台的推广。红帽博客上指出,只有商业版的Linux才全面支持.NET所有特性,并满足企业级别的需求。红帽认为,对那些寻求在Linux或者容器环境下使用.NET技术的企业而言,这将是一种新的平台选择。

开发社群的响应

总体上,社群的反应分为积极支持和中立观望两方。

一些已经使用过 .NET的 开发人员称开发总体感觉很好,C#具备快速、多线程、丰富标准库、泛型、支持动态静态语言等优点。Mono的使用者则认为.NET Core 1.0可以做得比Mono更好。因此这两类人群对于.NET Core持积极态度。不过,一些使用.NET Core的开发人员反应微软未能做到及时更新文档,偶尔会导致一些bug。此外,Visual Studio Code中的开发体验仍然不及Visual Studio。

对于尚未在技术栈中使用.NET的开发团队而言,大部分将持观望态度。技术栈应该不会立刻发生变化,团队不会紧随1.0最初版本开展研发工作。

未来还会有哪些变化

微软称将会继续在跨平台上努力,就硬件层面而言,除了已经完成的跨操作系统的X64和WindowsX 86平台, .NET Core正在向Arm64和ARM32平台发力。

相关文章:


原文地址:http://www.infoq.com/cn/news/2016/06/NET-Core-1-0-publish


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值