亦敌亦友 微软Edge浏览器为何要采用Chrome引擎?-风君雪科技博客

  网易科技讯 5 月 19 日消息,据国外媒体报道,微软早在 2015 年就发布了 Edge 网络浏览器。但却在 2018 年出人意料地转而采用谷歌的 Chromium 开源引擎。本文就微软如何做出这一重大决定以及接下来可能发生什么的故事进行了描述。

  微软首席执行官萨蒂亚·纳德拉(Satya Nadella)对此感到很沮丧。微软副总裁乔北峰(Joe Belfiore)在接受采访时表示:“萨蒂亚找到我们说,‘嘿,我希望看到我们在浏览器方面取得更多进展。’”。当时纳德拉这样说,“谷歌在基于 Web 协作的用户体验方面做得很好,Office 团队正在投入更多的资金来改善我们的,我们希望自己的 Web 浏览器也能变得更好。” 乔北峰承认“Edge 的声誉好坏参半” ,但微软一直在花大量时间试图提高其浏览器的兼容性,同期谷歌一直在推进 Chrome 浏览器的开发,这巩固了其作为桌面默认 Web 浏览器的地位。

  在这种情况下,微软不得不大幅改变其 Edge 浏览器。乔北峰与纳德拉的会面最终导致微软做出了一个巨大的决定,抛弃自己开发的浏览器内核,转而使用 Chromium 作为新的浏览器引擎。这一决策的风险再高不过了:Windows 和 Web 本身的未来可能都取决于这个项目。

  在与纳德拉会面后不久,微软的浏览器团队开始分析 Edge 的所有问题,并为其缺陷选择了一个不同的术语,称其为“逆风”( headwinds)。“这是一个信号,表明 Edge 在 2017 年面临的不仅是技术层面的问题,也不一定是无法克服的。从理论上讲,这些缺陷只是减慢了被接纳的速度。

  最强劲的逆风之一是使用量。尽管 Windows 10 的安装基数在不断增长,但使用 Edge 浏览器的用户却不够多。人们仍然在选择 Chrome 和其他浏览器。乔北峰也承认:“Edge 浏览器的使用量很低,部分原因是我们只在 Windows 10 系统上运行。”“在全球所有设备中,尽管 Windows 10 操作系统体量庞大,但占比来看仍然是少数。”

  除此之外就是 Edge 浏览器的兼容性。由于 Edge 使用的渲染引擎与 Chrome 或 Safari 有所不同,这意味着其有时会在某些网站上出现问题。测试网站对于多个浏览器的兼容性一直都很困难,而且由于 Edge 浏览器的使用率很低,这意味着针对其进行的优化常常不在 Web 开发人员的优先级列表上。

  Edge 浏览器还建立在微软的通用 Windows 平台(Universal Windows Platform,简称 UWP)基础之上,这是该公司此前通过 Windows 8 和 Windows 10 大力推介的通用应用程序,可以在台式机、平板电脑、手机、Xbox 游戏机和 HoloLens 等设备上运行。“我们的第三个逆风是 UWP。这并不是说 UWP 不好,但 UWP 并不是一个有着 35 年历史的成熟平台,也不是一个已经编写大量应用程序的平台,”乔北峰解释道。这意味着 UWP 中像支持多显示器等功能并不可靠,而 Edge 团队将不得不等待 UWP 的更新。微软需要让 Edge 浏览器重新成为一款真正的桌面应用程序,能够适用于 Windows 7、Mac 和 Windows 10 多个平台。

  微软考虑过许多不同方法来应对所有这些不利因素。它考虑过看似简单的解决方案,比如让 Edge 浏览器进入 Windows 商店,因此能够比核心操作系统更新得更频繁。它还考虑在 Windows 7 操作系统上启用 Edge 浏览器。而迁移到 Chromium 引擎也是解决这些问题的方法之一。

亦敌亦友 微软Edge浏览器为何要采用Chrome引擎?-风君雪科技博客

  “我们说,‘不,我们认为可以通过兼容性达到目的。’”乔北峰说。

  因此,微软投入了更多工程师试图解决 Edge 浏览器的兼容性问题,但这是一种打地鼠式的愚蠢方法:每当解决了 Edge 浏览器中的一个问题后,就会弹出另外 10 个问题。随着谷歌通过 Chrome 推出了许多新标准和速度,Web 网络的发展速度大大加快,而微软却没有跟上脚步。

  微软实现其关于 Web 网络野心的另一个大问题是公司的组织方式。当微软开始 Edge 项目时,Windows 的 Web 平台工作 EdgeHTML 是由一个独立的团队来进行的,而构建和维护 Edge 浏览器本身的团队没有参与其中。微软去年对 Windows 业务进行了大规模重组,前 Windows 负责人特里·迈尔森(Terry Myerson)离开了微软,微软 Web 平台和 Edge 团队在乔北峰的领导下进行了整合,以增强最终打造出更好 Windows 浏览器的责任机制。

  这次重组更加凸显出 Edge 的问题,现有的 Web 团队已经联合起来改进公司的浏览器工作。微软开始在不同的开源技术实现上构建新的浏览器原型,看看什么是可行的。其中一个原型代号为“Septagon”,完全实现了 Chromium 引擎。Septagon 浏览器原型是显而易见的选择。但这一转变事关重大,必须由最高层做出最终决策。

  微软花了几个月时间对 Edge 浏览器迁移到 Chromium 引擎进行了认真评估,因为这是该公司通常做法的一个重大转变。“我们做了路演,”乔北峰解释说。“我们去见了比尔·盖茨(Bill Gates),我们去见了来自 LinkedIn 的首席技术官凯文·斯科特(Kevin Scott),他是我们的,,还有我们的董事会成员里德·霍夫曼(Reid Hoffman)。”该团队还会见了现任 GitHub 负责人奈特·弗里德曼(Nat Friedman)。

  所有这些会面的目的都是为了获得一些关于 Edge 浏览器切换到 Chromium 引擎的外部建议,所涉及的挑战,以及该公司到底期望与谷歌建立什么样的关系。毕竟对微软来说,转向 Chromium 引擎是一个巨大的赌注,也是更多接纳开源代码。

  其中一些挑战涉及如何与开源社区建立良好的关系,但另一些挑战则是微软 Windows 工程团队运作方式的根本性改变。Edge 浏览器每六个月向公众发布一次更新,但是 Chromium Canary 的开发人员每天都要重构一次代码。Chromium 也是一个不同的代码库,微软的工程师必须对其进行深入理解并为之做出贡献。

  在 2018 年 9 月决定采用 Chromium 引擎之前,微软花了大量时间对其进行分析。纳德拉和他的领导团队批准了这一变更,然后微软准备在 12 月公开宣布。这是一个重要的时刻。

  “我们有点紧张,”微软 Edge 项目经理杰特·曼恩(Jatinder Mann)承认。“幸运的是,当我们宣布这一消息时,我们得到了 Chromium 工程师和其他 Chromium 浏览器厂商的积极响应,他们非常高兴看到我们能够加入这个社区。”人们的反应大多是积极的,其他浏览器工程师认为这是为改进 Web 网络而获得更多帮助的一种方式。

  然而,火狐浏览器开发商 Mozilla 并不欢迎微软的举动。这可能意味着 Web 开发人员不太可能使用任意浏览器编写符合 Web 标准的代码,而更可能只为 Chromium 和 Safari 编写代码。所以 Mozilla 说它将继续“为一个真正开放的 Web 网络而战”。

  一旦做出决定并公之于众后,Edge 浏览器转向 Chromium 引擎的真正工作就开始了。虽然谷歌和微软的工程师以前常常一起合作来帮助设计 Web 标准,但是这次将是非常不同。微软采用 Chromium 引擎意味着这种关系将变得更加紧密。

  有时双方需要决定到底采用 Google Hangouts 还是 Microsoft Teams 进行协作通信,或者到底是使用 Word 还是 Google Docs。而微软的工程师们往往愿意迁就谷歌。

  谷歌工程师与微软讨论了 Chromium 开源社区通常是如何工作的,微软的工程师也采纳了这些流程。曼恩表示:“我们的许多原则与这些最佳实践非常一致。”这些实践包括长期参与 Chromium 项目,维护微软所做的任何贡献,尊重架构设计以及跨平台和跨设备的需求。

  微软和 Chromium 工程师现在正在合作解决一些问题,比如浏览器的易访问性、滚动和触摸控件等问题。触摸控件一直是 Edge 浏览器的重要组成部分,微软现在正在对 Chromium 引擎进行改进,使在 Web 表单中选择日期或时间时更易于触摸操控。微软还在开发支持 Chromium 引擎的 Windows 触摸键盘,包括加入在键盘上滑动书写等功能。

  很明显,现在还处于微软开发 Chromium 的早期阶段,来自微软和谷歌的工程师似乎在为类似的目标进行良好合作。但微软和谷歌仍然是激烈的竞争对手。以前,谷歌的 Chrome 浏览器专用网站在 Edge 上运行得并不好,Mozilla 的一位前高管最近指责谷歌多年来一直在破坏火狐浏览器,尽管谷歌与火狐浏览器有着密切的合作关系,曾经达成过一项将谷歌搜索作为默认设置的协议。

  谷歌和微软多年来也有过公开的斗争,这导致生态系统战争的发生,并影响了两家公司的客户。Windows Phone 用户暂时无法使用谷歌地图,Windows Phone 的 YouTube 应用程序也引发了一场激烈战斗,而谷歌还切断了 Gmail 对 Windows Phone 中 Exchange ActiveSync 支持,这让微软感到意外。加之谷歌拒绝开发 Windows 应用程序,所有这些事件都削弱了微软在移动领域与 Android 操作系统竞争的努力。

  YouTube 工程师甚至在近 10 年前策划了一个秘密计划,要消灭 Internet Explorer 6。最近,YouTube 在 Edge、火狐或 Safari 等非 Chrome 浏览器上运行得并不好。考虑到这段黑历史,一些人担心谷歌可能会利用它的许多 Web 优势和服务来破坏微软向 Chromium 引擎的迁移。这并非毫无根据的恐惧,但却是一种讽刺:如果这种情况继续下去,微软可能最终成为“拥抱、延伸、消灭”战略的受害者。

  最近,当 Google Meet 突然不在支持新版 Edge 浏览器时,这些担忧变得更加强烈。谷歌最近还在 Edge Chromium 用户使用 Google Docs 时添加了一个“不支持浏览器”的警告。埃里克·劳伦斯(Eric Lawrence)在加入谷歌开发 Chrome 之前曾为 IE 浏览器工作,现在又回到了微软。他在 Twitter 上透露,谷歌最近的改动可能不是恶意的。谷歌并不是故意要屏蔽微软的新版 Edge 浏览器。

  “我认为我们的期望是谷歌浏览器将与我们公平竞争,”乔北峰说。“我们希望我们能成为 Web 标准和 Web 实现方面的工程合作伙伴,在 Windows 设备上运行良好。这似乎是可能的,而且符合所有人的最大利益。而且在差异化方面还有很大的竞争空间。”

  毫无疑问,谷歌欢迎微软对 Chromium 引擎的贡献。谷歌工程师们在最近的一次 BlinkOn Chromium 活动上邀请微软登台,到目前为止,微软已经为 Chromium 贡献了 400 多种融合。谷歌一位发言人表示:“Chrome 从一开始就是开放网络的拥护者,我们欢迎微软加入 Chromium 开发者的社区。”“我们感谢微软和 Web 标准社区在推进开放 Web 网络、支持用户选择和提供良好浏览体验方面所做的工作。”

  新旧 Edge 浏览器的转换不会一蹴而就,微软仍在研究如何实现这一目标。

  微软正在展示为 Edge Chromium 浏览器规划的一些新功能,而 Mac 版浏览器也应该很快就会推出。Edge 浏览器也将推出一种新的“IE 模式”,这可能会帮助一些仍然依赖于面向 IE 设计的古老内部网站企业用户转向更现代的网站。Edge 浏览器还设计了一个新的“收藏”功能,以改善从 Web 上收集信息和笔记的不良体验。微软甚至添加了精细的跟踪控件,以阻止广告通过 Web 网路跟踪用户。

  除了这些特性,Edge Chromium 还在不断改进,而微软与谷歌的关系也在不断变化。但最终的结果意味着,如果你使用 Windows,那么 Chrome 和 Edge 浏览器在未来几个月都将变得更好。Edge 已经感觉和 Chrome 一样好了,它很容易就会成为有史以来最好的默认浏览器窗口。不过 Chrome 可能还不够好。现在轮到微软来说服所有人,为什么放弃 Chrome 是值得的。(辰辰)