写点什么

微软“木马计”:用你的技术,比你做的还好

  • 2018-12-11
  • 本文字数:2929 字

    阅读完需:约 10 分钟

微软“木马计”:用你的技术,比你做的还好

最近微软抛弃 Edge 浏览器,转投 Chromium 阵营的消息震动了业界,有人说浏览器大战终于结束、谷歌 Chrome 获得了最后的胜利;也有人担忧 Web 技术多样性遭遇打击,Chrome 会成为新 IE。但在这一片嘈杂的讨论中,没有人讨论微软为什么会这么做。这篇文章会分析一下这个问题,以及试图说服你:浏览器大战还未结束,微软还有机会!


要讨论微软为什么会转投 Chromium,让我们先从 TypeScript 谈起。

TypeScript:初试开源威力

TypeScript 是 JavaScript 的超集,是为了解决 JavaScript 过于灵活、难以在大型项目中使用而创立。自创立至今,TypeScript 已经被越来越多的人所接受,成为企业级 JS 项目的主流。


TypeScript 早在 2010 年就在微软内部使用,然后在 2012 年 10 月对外公开。到了 2014 年纳德拉上台,微软的风气为之一变,TypeScript 也迎来了另一个阶段:发布了 1.0 版本,从微软自己的代码托管平台 Codeplex 迁移到 GitHub,从而吸引更多的开发者。同时微软的计算机大神——Delphi、C#之父 Anders Hejlsberg 也开始领导 TypeScript 的研发,他还走到前台,到各地去为 TypeScript 布道。


我还记得 Anders 来到中国,在微软北研做的一场分享,在分享中他手写代码演示了 TypeScript 的种种特性,还说自己现在每天工作有很大一部分时间在 GitHub 上。他还介绍了微软新的研发理念,以开源为先。后来微软的种种动作都验证了这个说法。


TypeScript 对微软来说太重要了。在之前开源软件吞噬世界,而微软则在社区逐渐边缘化,人们谈论 Linux 和其它开源软件,而对微软的技术视而不见,甚至有的开发者在发布软件库的时候拒绝开发 Windows 版本。TypeScript 帮助微软重回软件开发的主流,重新赢得了开发者的认可。



(Source:The State Of JavaScript 2018)


在前不久 Stateofjs 发布的调查报告里,除了 JS 的官方语言 ES6,TypeScript 的支持率远远超过了其它 JS 的方言/近亲。


TypeScript 的成功也鼓舞了微软更多的拥抱开源,包括后面将.NET core及相关工具开源,甚至将 Azure 的文档也开源在 Github 上。在 2018 年的 GitHub 年度报告里,微软不仅在参与开源项目人数上名列前茅,还有多个项目进入最受欢迎的项目 Top 10.

VS Code:用你的技术还比你受欢迎

2014 年微软还有另一个大动作,就是宣布推出 Visual Studio Code,这对微软来说是另一个历史性的突破。


微软第一次将开发工具带到了 Linux 和 macOS 上,第一次将开发工具开源,同时也是第一次利用其它公司的核心技术开发自己的产品。这个核心技术就是现在在跨平台桌面开发中越来越受欢迎的 Electron(之前叫 Atom-Shell)。


Electron 是 GitHub 在打造自己的桌面端产品的过程中沉淀下来的,GitHub 基于它开发了自己的桌面客户端和代码编辑器 Atom。Atom 为代码编辑器领域吹进了一股新风,并对传统的代码编辑器 Sublime Text 等形成了强烈的冲击。


微软的 Visual Studio 号称“宇宙第一 IDE”,其强大毋庸置疑。它适合 C++、C#等静态语言的开发,但越来越多的编程语言如 JavaScript、Python、PHP 等青睐使用轻量级的代码编辑器来进行开发。为了应对这股潮流,2015 年微软推出 Visual Studio Code,但出人意料的是,微软在 VS Code 使用了 GitHub 的开发框架。


微软不是没有能力推出自己的开发框架,并且当时的 Atom-Shell 也才推出一年多尚显稚嫩,但这次稍显冒险的行为,为微软赢得丰厚的回报:发布仅仅三年之后,VS Code 成为开发者最喜欢的代码编辑器。



(Source:StackOverflow Developer Survey Results 2018)


VS Code 是如此受欢迎,它甚至都不需要微软的开发者们到处去布道。这中间有一件趣事:极客 时间曾联系 VS Code 团队的工程师吕鹏,让他来开设一个付费的课程,课程本身不贵,作者既布道了这个编辑器又从劳动中获得收益,但作者却担心被人认为靠公司项目敛财而将课程下线了。在短短不到一周的上线时间内,课程就有几千人购买,足以见得 VS Code 受欢迎的程度。


如果说 TypeScript 代表着对开源的拥抱,VS Code 既开源又使用别家技术所以代表着开放,既然微软已经在这两个项目上验证了开源和开放的威力,那么为什么不在其它的项目上复用已有的经验呢?

新 Edge:复用已有成功经验

微软 Edge 团队在 GitHub 上发布了一篇文档,解释了为什么 Edge 是复用上述经验的一个良好的目标:


  • 早在一年前移动端的 Edge 浏览器已经使用其它平台的技术构建。这并不出奇,苹果规定浏览器需基于自家技术开发,连 Chrome 到了 iOS 上也得乖乖的用 WebKit。

  • Edge 本身使用了一些开源技术,如 ANGLE、Web Audio、Brotli 等。

  • 之前微软帮助 Chromium 在适配 ARM 平台时已经做了一些工作,微软发现,第三方浏览器在提升 Windows 用户体验、性能、降低功耗等方面并不上心,为了给终端用户更好的体验,微软有必要去治理它们的源头,其中最主要的就是 Chromium。


当然,还有一条微软不好意思说但外人看的很明白的点:Edge 之前在调研中市场覆盖率仅占 4%左右,这样下去什么也不做才真会默默死掉,还不如掀桌子重来。


当你看明白了微软正在 Edge 上复用它们开源与开放的经验的时候,也就知道我为什么会说浏览器大战还没有结束了。


大家对于 Web 技术多样性的担忧暂时是没有必要的,微软在浏览器内核的更上游——Web 标准上正在投入更大的力量参与,具体就体现在微软会更多的参与到 W3C 和 WHATWG 的事务中去。


如果谷歌无视 Web 标准一意孤行,到时候微软熟悉了 Chromium 的开发之后,将有能力从 Chromium 创建分支,这也是开源允许的做法。


Edge 更换底层平台,毫无疑问影响深远,而这么做也给微软带来新的机会:


  • Edge 将迎来 Chromium 平台上量多质优的浏览器插件,从而大大增强 Edge 的功能。

  • 我们曾报道过微软正在研发针对 ChromeOS 上网本的 Windows Lite 版本,这个版本将主要支持 PWA 和 UWP 应用,通过采用 Chromium,微软可以更好的支持谷歌推出的 PWA,甚至参与到 PWA 的研发设计当中。

  • 通过将微软账户集成进 Chromium 里,微软也可以打造自己围绕浏览器的生态,到时再通过一个迁移工具一键将 Chrome 的各种设置和插件移到 Edge 上,那还不是美滋滋。


所以 Edge 转投 Chromium 不但不意味着浏览器大战的结束,反正还意味着未来还可能再起波澜!

谷歌,小心微软“木马计”

大公司通常容易患上一种 NIHS 综合征(Not Invent Here Syndrome),具体表现为如果哪项受欢迎的技术不是自己的,那么一定要做一个和它类似的。微软也曾经是这一症状的患者,在历史上,它创建了类比于 JavaScript 的 JScript、类比于 Flash 的 Silverlight,毫无疑问,这些全都失败了。


一旦抛弃了这个症状,微软突然发现自己可以发挥真正的实力:在开发 Windows、Office、Visual Studio 期间积累的丰富的经验技术和对用户体验的理解。


使用别家的技术,然后比别人做的好,这目前是微软的独家本领。这种行为就像特洛伊木马,进入别人腹地颠覆对方。而且让对方无奈的是,这种行为甚至无从防御,这些都是开源规则允许甚至是鼓励的,只能眼睁睁的看着对方超过自己。


当然,前两次成功不一定能证明接下来也一定成功。特别是 Edge 与对手相差悬殊,想要赶超其难度超乎想象。


总之,未来的浏览器领域的竞争仍然充满变数,谷歌暂时领先了,但也不能躺在功劳簿上打盹,毕竟,IE 的前车之鉴就在前面,而微软还没有放弃。


2018-12-11 17:295658
用户头像

发布了 164 篇内容, 共 106.9 次阅读, 收获喜欢 392 次。

关注

评论 2 条评论

发布
用户头像
Visual studio code 也用了 chrome 的V8js引擎了吧?所以不只是 github 的 electron
2018-12-16 08:20
回复
没有更多了
发现更多内容

深入解析Linux进程内存:VSS、RSS、PSS、USS及查看方式

百度搜索:蓝易云

云计算 Linux 运维 后端 云服务器

对话苏光牛:国内数据库市场已进入关键转折点,2024年或是分水岭

华为云开发者联盟

数据库 后端 华为云 华为云GaussDB 华为云开发者联盟

Shell错误:/bin/bash^M: bad interpreter: No such file or directory

百度搜索:蓝易云

云计算 Linux 运维 windows 云服务器

@所有人 您需要的 幻兽帕鲁服务器搭建教程 已上线

六月的雨在InfoQ

阿里云 ECS 计算巢 幻兽帕鲁

华为视频走近《鲁豫有约一日行》,看技术如何赋能艺术创作

最新动态

快速上手极狐GitLab设计管理功能

极狐GitLab

一起畅玩!幻兽帕鲁服务器华为云搭建教程(Windows 平台)

YG科技

听GPT 讲Rust Tokio源代码(2)

fliter

阿里巴巴商品详情数据接口Python

tbapi

阿里巴巴 阿里巴巴API接口 阿里巴巴商品详情接口

行业知识图谱是什么

悦数图数据库

知识图谱

聚道云软件连接器助力餐饮企业实现数字化管理

聚道云软件连接器

案例分享

削峰有高招!评价QPS降低85%的背后逻辑-京东零售技术实践

京东零售技术

前端 移动开发 大促 黄金流程

业务架构师之路

执于业务

架构师 业务 业务架构师

iOS平台如何实现毫秒级延迟的RTMP|RTSP播放器

音视频牛哥

IOS RTSP播放器 IOS RTMP播放器 RTSP播放器 RTMP播放器 RTMP player

代码手术刀-自定义你的代码重构工具

京东零售技术

Java 源码分析 后端 代码重构

打破信息孤岛,聚道云软件连接器助力企业实现高效管理

聚道云软件连接器

案例分享

Real Glow for mac( AE真实发光效果模拟插件) v1.0.0汉化版

iMac小白

耗时一个月我问遍了身边的大佬,零基础自学Java的路线,适用程序员入门&进阶,Java学习路线,2024新版

小明Java问道之路

LoRA:语言模型微调的计算资源优化策略

Baihai IDP

人工智能 深度学习 程序员 AI LLM

代码验证斯特林公式的准确性

fliter

【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现

洛神灬殇

性能优化 架构设计 高性能网关 亿级数据 2024年第三十三篇文章

Real Glow for mac( AE真实发光效果模拟插件) v1.0.0汉化版

iMac小白

文心一言 VS 讯飞星火 VS chatgpt (195)-- 算法导论14.3 3题

福大大架构师每日一题

福大大架构师每日一题

面试官:如何防止短信盗刷和短信轰炸?

王磊

Java 面试

国内唯一!通义灵码入选全球智能编码助手使用率 TOP 榜单

阿里巴巴云原生

阿里云 云原生 通义灵码

Flicker Free for mac(专业AE视频去闪烁插件)兼容Big Sur v1.1.8激活版

iMac小白

行业首家!TCL实业通过国家大模型算法备案

Geek_2d6073

安全SCDN可以应对攻击吗

德迅云安全杨德俊

如何在春节实现弯道超车,你知道吗?

测吧(北京)科技有限公司

测试

什么是HTTP长轮询?

百度搜索:蓝易云

Linux 运维 前端 HTTP 云服务器

DR5插件加强版 for Mac(ps磨皮滤镜) v5.0中文版

iMac小白

微软“木马计”:用你的技术,比你做的还好_开源_徐川_InfoQ精选文章