.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 1.0发布:微软开源跨平台大布局序幕_第1张图片

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

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

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

.NET Core 1.0发布:微软开源跨平台大布局序幕_第2张图片

此外,还可以使用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平台发力。

相关文章:

  • ASP.NET Core 1.0 入门——了解一个空项目

  • ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1)

  • .NET Core 1.0、ASP.NET Core 1.0和EF Core 1.0简介

  • 云服务器下ASP.NET Core 1.0环境搭建(包含mono与coreclr)

  • 使用VS Code开发ASP.NET Core 应用程序

  • dotnet run是如何启动asp.net core站点的

  • ASP.NET Core提供模块化Middleware组件

  • “dotnet restore"和"dotnet run"都做了些什么?

  • 探秘 dotnet run 如何运行 .NET Core 应用程序

  • .NET Portability Analyzer 已开源

  • ASP.NET Core的配置(1):读取配置信息

  • ASP.NET Core的配置(2):配置模型详解

  • .NET Core 1.0 RC2 历险之旅

  • 使用VS Code开发 调试.NET Core 应用程序

  • 让我们Core在一起:ASP.NET Core & .NET Core

  • .NET Core VS Code 环境配置

  • 官方博客明确了 .NET Core RC2/RTM 时间表

  • .NET Core全新的配置管理[共9篇]

  • 利用记事本创建一个ASP.NET Core RC2 MVC应用

  • 微软.NET 正式劈腿成功,横跨所有平台

  • .NET Core 1.0 CentOS7 尝试

  • 解读发布:.NET Core RC2 and .NET Core SDK Preview 1

  • [.NET Core].NET Core R2安装及示例教程

  • ASP.NET Core 开发-中间件(Middleware)

  • 结合Jexus + Kestrel 部署 asp.net core 生产环境

  • 通过Jexus 部署 dotnetcore版本MusicStore 示例程序

  • ASP.NET Core 中文文档 第一章 入门

  • 用 Visual Studio Code 在 macOS 上创建首个 ASP.NET Core 应用程序

  • 用 Visual Studio 和 ASP.NET Core MVC 创建首个 Web API

  • 用 Visual Studio 发布一个 Azure 云 Web 应用程序

  • ASP.NET Core MVC 与 Visual Studio 入门

  • 第二章指南(4.2)添加 Controller

  • DotNet Core 介绍

  • asp.net core 中间件详解及项目实战

  • 教你实践ASP.NET Core Authorization(免看文档教程)

  • asp.net core 使用 Redis 和 Protobuf 进行 Session 缓存

  • asp.net core 中间件详解及项目实战

  • 第二章 指南(4.3)添加 View

  • dotnet core开发体验之开始MVC

  • dotnet core 开发体验之Routing

  • 聊聊ASP.NET Core默认提供的这个跨平台的服务器——KestrelServer

  • 简析.NET Core 以及与 .NET Framework的关系

  • .NET Core 使用Dapper 操作MySQL

  • 使用 CommandLineApplication 类创建专业的控制台程序

  • 简析 .NET Core 构成体系

  • .NET Core也可以使用MongoDB了

  • .NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布

  • .NET Core:面向未来的开源跨平台开发技术

  • 微软说它深爱着Linux,现在它用行动证明了

  • 移植.NET Core计划,整合各平台变得更简单了!

  • ASP.NET Core 介绍

  • 通过几个Hello World感受.NET Core全新的开发体验

  • ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行

  • .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

  • Asp.Net Core 发布和部署( MacOS + Linux + Nginx )

  • Asp.Net Core 发布和部署(Linux + Jexus )

  • 学习ASP.NET Core,你必须了解无处不在的“依赖注入”

  • .NET Core应用类型(Portable apps & Self-contained apps)


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


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

你可能感兴趣的:(.NET Core 1.0发布:微软开源跨平台大布局序幕)