您的位置:首页 > 运维架构 > Linux

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

2016-06-30 07:26 851 查看
6.27 清晨,微软在Red Hat DevNation大会上正式发布了.NET Core以及ASP.NET Core 1.0,并提供了下载,其不仅能在Windows操作系统上运行,还能在Linux和Mac OS X操作系统上运行,这意味着开发者不仅能使用它来建立自己的应用,还能修改和完善平台,来迎合自己和他人的需求。

2014年,微软首次发行.NET Core以及其源代码,但是微软之前的版本只能用于测试。今天是微软第一次官方支持使用Linux和OS X(Windows的两大竞争对手)的现实操作平台。Linux主要供应商之一Red Hat也宣布:其将在Red Hat Enterprise Linux操作系统上官方支持.NET。

这些都意味着微软内部发生了重大的改变,同时整个软件行业也发生了改变。在过去的10年中,从谷歌到Facebook,再到Twitter,全球商业科技公司越来越多地使用Linux和其他的开源软件,来建立它们的网上服务和其他的科技。因此,IT供应商也越来越接近开源状态,而微软就是主要供应商之一。为了完成目标,微软必须确保.NET处于开源状态,同时其他重要的微软IT工具可以在所有的操作系统上运行,这就包括Linux。

微软在.NET上大做文章时,它同时还发行了能够运行Linux的SQL服务器数据库软件。数据库本身并不开源,但是这是微软第一次为Linux提供产品。先前,微软只支持在自家的操作系统上运行软件。这说明,世界在改变,微软也随之在改变。

微软开放部分.NET环境已有数年了。2009年,其开始了首个程序框架,名为ASP.NET MVC 。微软也帮助几个重要的开源软件(包括数据处理平台Hadoop以及代码工具Node.js)移植到Windows平台。但是即使是其在宣布在Azure云端服务器上支持Linux之后,微软仍然没有为Linux操作系统书写过多的软件。微软能帮你做的,就是运行Linux系统,但是要使用Linux平台的软件,就得靠自己了。

2014年,这种状况开始改变:微软宣布不仅对.NET中心开源,还会将之移植到Linux和OS X上。然后在今年年初,微软收购了一家叫做 Xamarin的公司,后者长期帮助开发者使用.NET技术来为更加广泛的平台(包括Linux以及Android、iOS等操作系统)建立软件。



微软的动机

微软此次支持Linux并开源软件的动机并不是毫无私心的。其实,这对于微软的生存至关重要。在过去的几年中,Linux在网络服务器市场上挤掉了Windows服务器,开发者蜂拥而至去开源程序语言,以及如Ruby on Rails、Python和谷歌的Go language等框架来建立下一代应用。微软开发者部门副主席Julia Liuson表示:她的团队害怕微软在将来会威风不再。“如果你问开发者,他们会对Visual Studio给予高度评价,但是我们必须与时俱进,才能在风起云涌的市场中立于不败之地。”

而要赢得竞争的方式是显而易见的:开源。因此,Liuson和她的同事们现在正在努力让.NET变得更加开放,让它不仅能够在Windows平台上运行,还能在任何开发者想要使用的平台上运行。

对Windows的威胁?

Liuson表示她们并不担心开源.NET将会减少Windows通行证的销售量,因为开发者并不会一开始就考虑使用Windows。但是现在,他们也许将会考虑微软 Visual Studio和Xamarin产品,或者使用Azure云端服务,来取代亚马逊和谷歌的服务。

据悉,来自 1300 家企业的超过 18000 名开发人员参与了.NET Core 1.0 的贡献工作,微软方面表示,其同时指出这一新版本还包含.NET 标准库,旨在帮助开发人员更轻松地 “复用其编写的运行在服务器、云端、桌面乃至包括 Windows、iOS 与 Android 在内的各类设备上的应用程序时,所使用的代码与技能。”



Illyriad Games负责人 James Niesewand表示微软的此次开源将会方便他们直接修复问题,这样一来,他们再也不用花很长世间等待微软来修复,也不用在出问题时从头开始写程序。

他表示:“三年前,如果我们发现了.NET问题,我们会撰写一份问题报告,然后呈递给微软。几周后,我们会收到回复表示微软已承认此问题;但是也许是在一年之后,微软才会真正修复此问题。而现在,我们可以直接自己修复问题,然后由微软批准,这个过程只需数小时,大大节省了时间。”

微软从此次开源中获益颇多。微软在其自己的云端服务器中使用.NET,因此,从理论上讲,从Illyriad和其他开发者平台上做出的完善,到头来也会促进微软的发展。这和Facebook和谷歌开发和发展软件的方式如出一辙。如果一个非Facebook开发者发现了如何加快Facebook开发框架反应的方法,那么应用将变得更加快捷灵敏,任何人(包括Facebook用户)都将从中获益。如果一位研究AI的学者发现了促进谷歌AI框架 TensorFlow发展的方法,那么研究者将获得更好的工具,谷歌也将会在AI方面更进一步。

而现在,微软也加入到了这种发展方式中来。至于其之后的发展,我们拭目以待。

相关文章:
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:面向未来的开源跨平台开发技术

原文地址:http://www.leiphone.com/news/201606/qHhsPAUf31CR4Qgt.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

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