微软说它深爱着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方面更进一步。

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

相关文章:

原文地址:http://www.leiphone.com/news/201606/qHhsPAUf31CR4Qgt.html


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/329099.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php file_put_contents(quot;,php file_put_contents函数怎么用?

file_put_contents()是PHP中的是一个内置函数,用于将字符串写入文件。用户想要写入的文件的路径和必须写入的数据作为参数传递给函数,并返回成功时写入文件的字节数,失败时返回FALSE。php file_put_contents()函数怎么用?php file…

jdk1.8.0_45源码解读——ArrayList的实现

转载自 jdk1.8.0_45源码解读——ArrayList的实现 一、ArrayList概述 ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。  …

.NET Core dotnet 命令大全

dotnet 命令大全,让你理解dotnet 命令。 本文将以一个实例串起 dotnet 所有命令,让你玩转dotnet 命令。 本篇文章编写环境为windows 10 ,dotnet 命令同样适用于其它系统。 配合 VS Code 你就可以在 Linux 、MAC 上开发.NET Core。 下面是dotn…

java异常 字节码,Java字节码角度分析异常处理

目录从字节码角度来分析:异常处理1.1 异常-catch// 从字节码角度来分析:异常处理public class T13_ByteAnalyseException {public static void main(String[] args) {int i 0;try {i 10;} catch (Exception e) {i 20;}}}注意:为了抓住重点…

html特效大全1

提前声明&#xff1a;好久之前的文档&#xff0c;找不着出处&#xff0c;如有侵权&#xff0c;联系本人&#xff0c;马上处理&#xff01; 1) 贴图&#xff1a;<imgsrc"图片地址"> 2)加入连接&#xff1a;<a href"所要连接的相关地址">写上你…

.Net Core 系列:1、环境搭建

前言&#xff1a; 2016年6月28日微软宣布发布 .NET Core 1.0、ASP.NET Core 1.0 和 Entity Framework Core 1.0。 .NET Core是微软在两年前发起的开源跨平台.NET框架项目&#xff0c;支持Windows、OS X和Linux平台&#xff0c;可用于开发各种类型的应用。此次发布包括了 .NET C…

【集合框架】JDK1.8源码分析之HashMap(一)

转载自 【集合框架】JDK1.8源码分析之HashMap&#xff08;一&#xff09;一、前言在分析jdk1.8后的HashMap源码时&#xff0c;发现网上好多分析都是基于之前的jdk&#xff0c;而Java8的HashMap对之前做了较大的优化&#xff0c;其中最重要的一个优化就是桶中的元素不再唯一按照…

java 连接 sql2005,java与sql server2005 连接有关问题

当前位置:我的异常网 Eclipse java与sql server2005 连接有关问题java与sql server2005 连接有关问题www.myexceptions.net 网友分享于&#xff1a;2013-01-27 浏览&#xff1a;73次java与sql server2005 连接问题package com.lzw.dao;import internalFrame.guanli.Item;imp…

微软借Bletchley项目将云计算信息加入区块链

在比特币领域大获成功后&#xff0c;越来越多的行业开始尝试通过区块链&#xff08;Blockchain&#xff09;技术在自己的业务中实施分布式分类帐&#xff08;Ledger&#xff09;。 InfoQ 什么是区块链 区块链是一种用于创建数字交易分类帐的数据结构&#xff0c;或有关某笔交易…

php定时某个时间循环做,PHP定时循环执行脚本

代码如下&#xff1a;<?php ignore_user_abort(); //关掉浏览器&#xff0c;PHP脚本也可以继续执行.set_time_limit(0); // 通过set_time_limit(0)可以让程序无限制的执行下去$interval 43200; // 每隔*秒运行&#xff0c;这里是12小时执行一次$is_send true;//是否开启t…

LinkedList 的实现原理浅析

转载自 LinkedList 的实现原理浅析 LinkedList内部结构 查看LinkedList的源码&#xff0c;发现其继承自AbstractSequentialList&#xff0c;实现了List&#xff0c;Deque&#xff0c;Cloneable以及Serializable接口&#xff0c;如&#xff1a; 也就意味着&#xff1a; Linked…

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

在前篇文章中我提到了如何移植 .NET Core&#xff0c;并邀请使用者们不吝啬的回报您的使用经验和改进意见。 这项措施带动起了非常多使用者之间的讨论。 根据这些讨论的重点和我们与第一与第三方伙伴合作的经验&#xff0c;我们决定把核心 API 跟其他 .NET 平台&#xff0c;主要…

browserquest php安装,请问一下browserquest-php项目换成GatewayWorker的形式需要怎么部署worker...

单进程模式用户间数据容易共享browserquest本身就设计成单进程模式&#xff0c;单进程模式用户间数据容易共享&#xff0c;不用频繁的进程间通讯&#xff0c;开发简单。改成gateway网关模式利弊如果要改成多进程gateway网关模式&#xff0c;代码改动量会很大&#xff0c;要求开…

Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例

转载自 Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例 第1部分 ArrayList介绍 ArrayList简介 ArrayList 是一个数组队列&#xff0c;相当于 动态数组。与Java中的数组相比&#xff0c;它的容量能动态增长。它继承于AbstractList&#xff0c;实现了List, Random…

ASP.NET Core 介绍

原文&#xff1a;Introduction to ASP.NET Core作者&#xff1a;Daniel Roth、Rick Anderson、Shaun Luttin翻译&#xff1a;江振宇(Kerry Jiang)校对&#xff1a;许登洋(Seay)、魏美娟(初见)、姚阿勇(Mr.Yao) ASP.NET Core 是对 ASP.NET 的一次意义重大的重构。本文介绍了 ASP…

计量经济学自相关matlab,计量经济学 自相关性.ppt

(3)检验自相关性 ①残差图分析&#xff1a;在方程窗口中点击Resids按钮&#xff0c;所显示的残差图(图5.3.7所示)表明e呈现有规律的波动&#xff0c;预示着可能存在自相关性。 图5.3.7 残差图 运用GENR生成序列E&#xff0c;观察E&#xff0c;E(-1)图形(见图5.3.8)。 图5.3.8 E…

Java 并发工具包 java.util.concurrent 用户指南

转载自 Java 并发工具包 java.util.concurrent 用户指南 1. java.util.concurrent - Java 并发工具包 Java 5 添加了一个新的包到 Java 平台&#xff0c;java.util.concurrent 包。这个包包含有一系列能够让 Java 的并发编程变得更加简单轻松的类。在这个包被添加以前&#x…

JavaScript实现四则运算

编写一个带有两个变量和一个运算符的函数&#xff0c;调用时接收prompt输入 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.or…

mysql中select语句子句,了解mysql中select语句操作实例

Select的语法SELECT[ALL | DISTINCT | DISTINCTROW ][HIGH_PRIORITY][STRAIGHT_JOIN][SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT][SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]select_expr, ...[INTO OUTFILE file_name export_options| INTO DUMPFILE file…

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

2016年6月27日&#xff0c;这是一个特殊的日子&#xff0c;微软全新的.NET开发平台.NET Core的RTM版本正式发布。我个人将.NET Core的核心特性归结为三点&#xff0c;它们的首字母组成一个非常好记的简称——COM&#xff0c;分别代表的含义Cross-Platform、Open-Source和Modula…