微软说它深爱着Linux,现在它用行动证明了
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的配置(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跨平台或扫描二维码关注
微软说它深爱着Linux,现在它用行动证明了相关推荐
- 对Linux既拉又打 微软与开源的“爱恨情仇”
对Linux既拉又打 微软与开源的"爱恨情仇"[@more@] 微软最近加强与Linux 互操作性的努力和吸引开发商转向Windows 平台的计划反映了微软对开放源代码软件既爱又恨 ...
- 那些年,我深爱着的PPT(一)
上午突然有了写这篇文章的念头,心潮澎湃了好久,就此下笔吧. 写这篇文章的主要目的是和朋友们分享PPT学习的一些非常棒.非常珍贵的资源,顺便也扒拉扒拉自己那些所谓的心得.想到哪写到哪,可能会有点乱,希望 ...
- linux终端字体放大_微软Build:Windows 将附完整Linux内核,新命令行工具,开源六小时冲上GitHub第二...
21CTO导读:微软于2016年成为Linux基金会的成员,同时宣布加入OSI,以增加其在宣传开源软件的使用.贡献和发布方面的作用,包括其客户和整个生态系统. 微软还是Linux基金会的"高 ...
- music算法_“要热爱 请深爱”系列(5)浅谈模拟退火算法
黄乐天 浅谈模拟退火算法 背景 在实际生活中, 数学问题中,我们常常会遇到(一定范围内)函数求最值的问题.一般可以用数学方式解答,但如果遇到如下恶心的函数: 它的函数图像是这样的: 我们只好用计算机科 ...
- 随笔:写给我深爱的球队
我为科比呐喊,只是因为我深爱篮球. 我为马刺流泪,才是因为我深爱这支球队. 哎!还有二十多天就要离开这个呆了六年的校园了,或许也要离开这个繁华喧嚣而又充满人情故事的城市 ...
- 微软CEO纳德拉拥抱Linux意欲何为?
"我不喜欢打一场过时的战争."微软 CEO 萨蒂亚·纳德拉说道,"我想要打一场全新的战役." 上周日晚上.萨蒂亚·纳德拉来到旧金山 North Beach 区的 ...
- 男人很容易喜欢一个女人,却不轻易深爱一个女人。
<script type="text/javascript"> </script> <script src="http://pagead2. ...
- 深爱的妻子出轨(转贴)
幸福的家庭都是相同的,不幸的家庭各有各的不幸.深爱的妻子出轨,给丈夫带来的伤害是难以想象的.本文的主人公经历了一系列的心理冲突与挣扎之后,离婚又复婚了.可是,生活却无法回到从前,心理上的巨大阴影罩住了 ...
- 专访傲游CEO陈明杰:为何微软对IE8“又爱又恨”
随着IE 8 Beta 2和Google Chrome的推出,浏览器战场注定会变得更加硝烟弥漫,就连世界著名前端大师.JSON的创立者Douglas Crockford也忍不住在本月的一次技术论坛上高 ...
最新文章
- Python单元测试--使用装饰器实现测试跳过和预期故障
- Gamma阶段第九次scrum meeting
- python2 转 python3 代码
- Spring Boot 解决跨域问题的 3 种方案
- cisco dhcp vlan vrrp ospf 实验
- lucene源码分析(3)facet实例
- linux rpm 包制作详解
- win下php5.4安装ffmpeg-php扩展
- 外连接就是允许不满足条件的字段查询出来
- ora00936缺失表达式怎么解决_初学者学习AE经常会遇到问题及解决方法,快进来看看吧!~~...
- java system sleep_详解Java中的sleep()和wait()的区别
- matlab数据归一化代码_深度学习amp;Matlab-LeNet实现图像分类
- 图片 + 未知宽高 + 垂直居中
- MIT 6.828 main.c文件分析
- 成对抗网络代码全解析, 详细代码解析(TensorFlow, numpy, matplotlib, scipy)
- Java工程师必备资料,整合1G多jar包,网速慢也没关系,关注获取更多资源
- Linux 镜像文件ISO下载地址:
- 初学者入门吉他应该怎么选?卡马D1C/A1C和 VEAZEN费森CLR300哪款更适合?
- 阿里架构师:双十一「大促」,多亏了 Node.js
- 《我在未来等你》的读书笔记和读后感作文2900字