开发者曾纷纷逃离微软生态,但现在他们想回来了
消息来源:https://is.gd/u8Uc6j
编者按:微软在开发者生态方面,数年前一直处于苹果的下风。近几年来,通过一系列举动,微软在该领域取得非常大的突破,本文作者Owen Williams十年前从Windows系统迁移到MacOS,两年前却换回Windows,并对它赞不绝口。微软都做了些什么呢?原文标题Microsoft Failed Developers — and Now It Has a Plan to Win Them Back。
五年前,如果你走进旧金山的任何一家咖啡店,你会发现放眼望去,尽是亮着信仰灯的苹果(Apple)笔记型电脑,想要在其中找到一台属于Windows的电脑,简直难上加难。MacBook是创业公司的不二选择——不仅仅是因为它的外观时尚,还因为它在网页开发方面非常出色。
在过去的几年里,微软(Microsoft)一直试图扭转这种局面,重新赢得程序员的青睐。上周,微软的总体计划以一项重大声明收尾:从今年夏天开始,微软将把Linux作为Windows 10操作系统的一部分。
就在几年前,这似乎是不可能的——但微软已经显示出了自己壮士断腕的雄心。多年来重新定义其业务的努力可能最终会有回报,因为开发人员终于能够使用一系列现代工具在Windows上进行工作了。
所有这些开花结果的种子都是在不久前种下的。2016年,微软宣布了一项名为“Bash on Windows”的技术,使Linux应用程序在Windows中(比如流行的Node.js server)就像在一台Linux电脑上一样运行成为可能。
不过这种体验并不完整。从技术上讲,Bash是一款软件,但并不在本地运行——如果你在Mac上运行同样的程序,就不会出现这种奇怪的情况。
当微软在今年晚些时候将Linux内核引入Windows时,这一问题应该会得到解决。开发人员现在可以轻松地从他们的Mac或Linux电脑迁移到Windows电脑中,因为Linux将不再浮于虚拟机内,而是存在于Windows系统中。这可能是微软重新夺回滩头阵地的关键。
微软是如何错过web潮的
微软的问题源于它完全错过了web应用(web app)开发方式的转变。在过去十年中,世界各地的开发人员都转向了新的web开发语言,如Node.js和Ruby on Rails。随着这种转变的发生,在PC上做web开发变得越来越困难。
新语言的开创者——比如开发Ruby on Rails技术的David Heinemeier Hansson——只使用苹果的操作系统,这使得在Windows上开发这些语言变得非常困难,或者压根不可能。随着开发人员从微软创建的付费服务(如SQL Server)转移到在Linux或macOS上运行的免费软件(如MySQL),这些问题越来越严重。实际上,Windows用户被拒之门外。
随着整个世界成为开源软件的世界,数亿免费、易于安装的代码片段带来开发革命——这些代码片段可以通过npm(Node Package Manager,代码包管理器)等工具获得。Npm允许JavaScript开发人员搜索库中的特定函数,比如“按日期排序数字”,找出一个现成的临时解决方案,无需任何人编写新代码即可解决问题。
据估计,现在90%以上的JavaScript开发人员都使用包管理器,它极大地减少了开发人员在代码中实现一个想法需要消耗的时间和金钱。随着包管理器的兴起,前端开发框架(如Angular、React、Vue等)开始流行起来,这给Windows用户带来了更多的问题。
例如,构建和运行基于节点的web应用所需要的工具在Windows上有时只能发挥部分作用(如果它们能在Windows上运行的话)。让npm和Node正确运行是一项复杂的任务,使开发人员几近疯狂。此类工具的开发者,没有一个是用Windows电脑开发的。
更复杂的是,虽然任何人都可以通过Boot Camp轻松地在Mac上安装Windows系统,但苹果不允许在任何第三方硬件上安装OS X,这意味着用Windows的开发人员要么必须在他们的电脑上安装开源Linux操作系统,要么就得在他们现有的电脑上使用速度较慢的Virtual Server来完成工作。
转变潮流
尽管Windows仍然统治著大公司市场(可能还有你的办公室),但人们普遍认为,对于这波新的web开发浪潮来说,Windows是一个糟糕的平台。创业公司拒绝使用它。
在免费升级Windows 10后,微软在寻找新的赚钱方式,主要专注于云托管和企业版Azure服务。Azure允许开发者在全球各地的微软数据中心托管主服务器,甚至只托管他们自己的代码。
2015年,微软发布了一款开源开发工具Visual Studio Code,吸引了很多开发人员。它不仅速度快得令人难以置信,而且可以无限定制,而且完全免费。该工具受到了开发人员的欢迎,现在是世界上最受欢迎的编程应用程序,超过50%的程序员都在使用它。
2016年,微软真正打开了封锁的大门。它发布了Bash on Windows;将.NET编程语言开源;宣布以数百万美元收购了广受欢迎的跨平台编程框架Xamarin。随后,微软收购了最受欢迎的开源平台GitHub;放弃了开发自己的浏览器引擎,转而开发Chrome;甚至开放了Windows计算器的原代码。
所有这一切都意味着,微软在短短几年的时间里,将自己重新定义为一家关心开发者的公司。它宣布将在Windows中搭载Linux子系统,这是一个致命的打击,因为该组件将整个系统整合在一起。
Windows上的原生Linux可以很容易地让开发者考虑第一次更换操作系统,成千上万开发者可能会尝试第二次更换(10年前,他们放弃Windows)。考虑到微软已经吸引了数百万使用Visual Studio Code等工具的开发人员的注意,它不需要做太多工作就能说服他们。
这个时机再好不过了:苹果最近根本没有关注在macOS上培育开发者生态系统,而是专注于让人们开发iOS应用。
再加上灾难性的MacBook键盘,当开发者需要购买一台新的笔记型电脑时,他们第一次把目光投向Mac之外。终于,Windows电脑看起来是一个可行的,甚至是更好的选择。
颇为讽刺的是,微软可能是在通过整合其他操作系统让开发人员重返Windows,但这是一个明智的举动:有选择总是好的。如果你仍然持怀疑态度,考虑到该公司的过去,怀疑是很合理的。但你不能否认,微软正年复一年地表明,它愿意蜕变,愿意创造一些新的东西。
我也是一名web开发者,所以当我的MacBook Pro键盘坏掉后,我就从macOS换到了Windows。换回Windows操作系统确实还挺难的,业内的朋友们也对这一举措能否奏效持怀疑态度,但我仍然在使用我的PC。两年之后,随着Linux最终到来,我终于可以说:我用Windows的工作流程比用其他任何系统都要好。
============
觉得说纳德拉上任微软执行长以后,短短几年内微软变得越来越开源了,比以前的老包(包尔默)还有更给力
尤其是Azure功劳可不小,像是最近SONY已经向微软租Azure来强化游戏串流呢
到底越来越开源的微软还会带给我们怎样的惊喜呢,就让我们继续看下去.......