您的位置:首页 > 其它

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

2016-07-07 06:55 716 查看
在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平台发力。

相关文章:
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跨平台或扫描二维码关注

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: