写点什么

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

  • 2016-06-29
  • 本文字数:1987 字

    阅读完需:约 7 分钟

在 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 平台发力。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-06-29 19:007494
用户头像

发布了 58 篇内容, 共 46.3 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

人工智能 | 深入理解评估指标——优化模型性能的关键

测吧(北京)科技有限公司

测试

人工智能 | 精准数据划分:提升模型性能的关键一步

测吧(北京)科技有限公司

测试

独立开发者都使用了哪些技术栈?

互联网工科生

独立开发者 软件开发 技术栈

人工智能发展脉络:从专家系统到机器学习的历史演进

测吧(北京)科技有限公司

测试

人工智能 | 精细解读人工智能评估指标——深入了解模型的强项与弱项

测吧(北京)科技有限公司

测试

石原子科技荣登「2024 中国企业服务云图」,引领数据价值在线化革命,助力企业省心省钱更安全

StoneDB

MySQL 数据库 HTAP StoneDB

人工智能 | 数据闭环构建技巧:确保模型稳定性和数据质量

测吧(北京)科技有限公司

测试

StoneDB-8.0-V2.2.0 企业版正式发布!性能优化,稳定性提升,持续公测中!

StoneDB

MySQL 数据库 HTAP StoneDB

一起来看看,Abaqus2024版本会有哪些“惊喜”?

思茂信息

abaqus abaqus软件 abaqus有限元仿真 有限元分析 有限元仿真

想要精确搜索商品详情?闲鱼电商API接口帮你实现!

联讯数据

人工智能 | 分布式造数工具中的Spark应用实践:快速生成大规模测试数据

测吧(北京)科技有限公司

测试

工程师都喜欢的一款自动生成网格的仿真软件——Hyperworks到底好不好用?

智造软件

CAE CAE软件 hyperworks

【实用+干货】如何使用Clickhouse搭建百亿级用户画像平台看这一篇就够了

不在线第一只蜗牛

Clickhouse 用户画像

在使用API获取JD商品的SKU信息时,需要注意哪些数据隐私和安全问题?

技术冰糖葫芦

API 开发

腾讯云大数据ClickHouse遇见Schema-less: 半结构化数据分析性能提升20倍!

腾讯云大数据

Clickhouse

在京东平台上,如何查找特定类别的SKU信息?

技术冰糖葫芦

API 开发

人工智能 | 数据与特征:解析模型如何依赖信息解决实际问题

测吧(北京)科技有限公司

测试

构建卓越的人工智能产品:全方位的质量保障与测试

测吧(北京)科技有限公司

测试

盘后股价狂飙16% — GitLab的DevOps产品在AI时代展现强劲财务业绩

极狐GitLab

人工智能 AI DevOps gitlab AIGC

人工智能与智能化测试Workshop

测吧(北京)科技有限公司

测试

人工智能 | 优化模型训练的利器——训练集、验证集和测试集

测吧(北京)科技有限公司

测试

从 Elasticsearch 到 SelectDB,观测云实现日志存储与分析的 10 倍性价比提升

SelectDB

数据库 大数据 数据仓库 数据分析 apache doris

解读JetBrains 2023年开发者生态报告,MySQL仍是全球数据库顶流 | StoneDB数据库观察 #11

StoneDB

MySQL 数据库 HTAP StoneDB

又一次了,该认真考虑“混合多云”了!

京东科技开发者

云计算 云服务 混合多云

人工智能 | Spark在分布式造数工具中的应用:构建大规模测试数据的新境界

测吧(北京)科技有限公司

测试

人工智能产品测试的挑战与应对策略

测吧(北京)科技有限公司

测试

IT外包服务内容有哪些?

Ogcloud

外包 IT 外包公司 项目外包 IT 运维

人工智能 | 优化模型性能的关键一步——深入理解训练集、验证集和测试集

测吧(北京)科技有限公司

测试

人工智能 | 自学习:数据科学的新潮流

测吧(北京)科技有限公司

测试

Footprint Analytics x Future3 万字研报:AI 与 Web3 数据行业融合的现状、竞争格局与未来机遇探析(上)

Footprint Analytics

区块链 AI web3

直播预约丨《实时湖仓实践五讲》第四讲:实时湖仓架构与技术选型

袋鼠云数栈

大数据 数据仓库 数据湖 湖仓一体 实时湖仓

.NET Core 1.0发布:微软开源跨平台大布局序幕_.NET_木环_InfoQ精选文章