网易首页 > 网易号 > 正文 申请入驻

放弃 React,微软 Edge 团队改用 Web 组件减少对 JavaScript 的依赖

0
分享至

作者丨 Richard MacManus

译者丨明知山

策划丨Tina

5 月份,微软的 Edge 浏览器团队推出了 WebUI 2.0,旨在通过采用原生 Web 组件取代 React 组件来提升浏览器的响应速度。其核心策略是通过“标记优先的架构”来减少对 JavaScript 的依赖,这意味着客户端需要处理的代码量将减少,从而为用户带来更加流畅的体验。

为了了解 WebUI 2.0 项目的进展情况——包括它的灵感来源和最终目标——我采访了微软 Edge 团队负责人 Andrew Ritz。

首先,我们先快速解释一下 Web 组件的概念。WebComponents.org 社区网站将其定义为“一套 Web 平台 API,使你能够自定义封装可复用的 HTML 标签,用于 Web 应用。”Ritz 向他的团队这样解释这一 Web 开发范式:“每当你打算开发一个新的控件,并且需要写 JavaScript 时,请先停下来去问问有经验的工程师,看看是否可以通过使用 HTML 和 CSS 来解决问题。”

Edge 为什么要放弃 React?

Ritz 说,他的团队的目标是在今年年底前将 Edge 浏览器中现有的约 50% 基于 React 的 Web UI 转成 Web 组件。

那么,发起这个项目的原因是什么——他们为什么决定逐步放弃 React?Ritz 解释说,这始于他的团队收到的工单——“帮助改进 Chromium 项目,包括外部和内部的请求。”

“……我们采用了 React 框架,并且可能以一种最糟糕的方式使用 React。”——微软 Edge 团队负责人 Andrew Ritz

一个具体的例子是 Excel Web 应用,它采用了 Canvas 元素。因此,他们面临的一个关键问题是:“我们该如何提升 Canvas 的性能?”HTML 中的元素允许通过脚本动态绘制图形,而这通常是通过 JavaScript 来实现的。

为了帮助团队处理这类需求,Ritz 希望采取一种更具“主观能动性”的策略,同时又能解决 Web 应用性能低下的问题。

“因此,我们着手调研公司内部所有采用了 Web 技术的地方——也就是所有的内部 Web UI,发现它们的运行速度确实令人难以接受地慢。”

为什么慢?因为 React。

“我们意识到它们的性能表现相当糟糕,尤其是在低端设备上——这主要是因为我们采用了 React 框架,并且我们可能以一种最糟糕的方式使用 React。”

在微软内部,随着时间的推移,越来越多的团队开始采用 React 来构建他们的用户界面,导致 React 的使用逐渐累积,最终形成了一个“所有人都依赖的巨大捆绑包”。Ritz 指出,这是 Web 应用之间依赖关系混乱的体现。

“这给用户带来了糟糕的体验,尤其是在低端的机器上,”Ritz 说。“我们发现,一些本应即点即用的本地应用启动时间竟然需要几秒钟,这确实令人震惊。”

Edge Web UI

Ritz 说,Edge 浏览器中大约有 50 到 100 个 Web UI 组件,“每一个都像是一个独立的 Web 小应用。”在 Web UI 2.0 项目启动之前,大约三分之二的 Edge Web UI 是基于 React 构建的。有趣的是,Edge 团队最初使用 React 是为了使 Edge 与 Chrome 有所区别。

“在将浏览器移植到 Chromium 内核的过程中,为了与 Chrome 有所区别,团队认为需要添加独特的用户界面元素——因此在移植过程中重度使用了 React。”

因此,从某种意义上说,当前的 Web UI 2.0 项目实际上是在对 Edge 最初开发工作中采用 React 的部分进行回溯。

Ritz 的团队负责其中一个 React Web UI 组件:“浏览器扩展”。在 Edge 浏览器中,用户可以通过点击工具栏上的心形图标来激活这个功能。它会打开一个侧边栏,这个侧边栏成了实验场,可用于测试用 Web 组件替换 React 组件后,能够为 UI 带来怎样的性能提升。

Web 组件没有未来?

最近,社交媒体上再次掀起了关于 Web 组件与框架组件优劣的激烈讨论。SolidJS 框架作者 Ryan Carniato 发表了一篇颇具挑衅性的博文,标题为“Web 组件不是未来。”他的核心观点是,像 SolidJS 这样的框架在某些特定场景下能够完成 Web 组件无法完成的任务,并且实现起来更为简便。他认为 Web 组件只是一种“彻头彻尾的妥协”。

作为回应,Shoelace 作者 Cory LaViska 提出了反驳,他认为 Web 组件在提供稳定性和跨框架互操作性方面具有明显优势。

LaViska 指出:“开发者对框架的不断变化感到疲惫。他们厌倦了上个月写的代码这个月就过时了。他们想要稳定,希望今天构建的东西明天还能用。”

LaViska 还指出,Web 组件没有做到框架组件所能做到的所有功能是“因为它们是对互操作性元素的一种更为底层的实现”。

这场在社交媒体上永无休止的争论——虽然现在已经从日常信息流中淡出,但可以肯定的是,一两个月后又会卷土重来。不管怎样,我问了 Andrew Ritz 关于他的团队如何适应 Web 组件以及它们是否真的像一些批评者所说的那样难以部署。

“我们的策略其实很直接,就是尽可能利用浏览器内置的功能,”他回答说。“也就是说,尽可能使用浏览器中原生的元素,这样做并没有想象中那么困难。”

“……努力让 Web 组件表现良好绝对是一个问题。”——Ritz

Ritz 提到,Edge 开发者得益于微软自家的 Fluent UI 框架,这个框架包含了 React 组件和 Web 组件(以及其他多种类型的组件,比如专为 iOS 和 Android 设计的组件)。但他也承认,即便是使用公司统一的框架来实现 Web 组件也并非易事。

“在某些情况下,内置控件需要大量的定制工作——当中有许多我们可能并不需要的 polyfill,或者诸如此类的东西——因此,努力让它们表现良好确实是一个问题。”

关于 Ritz 所说的围绕 Web 组件的“开发敏捷”(其他人可能称之为“开发者体验”),他表示,“我们实际上看到了一些相当不错的改进。”例如,专注于 HTML 和 CSS 意味着开发人员和设计师能够更好地保持一致——因为他们使用的是相同的语言。

“开发人员可以专注于使用 HTML 和 CSS,基本上消除了整个翻译层(可能有人需要将线框图转换成其他形式,这对开发者生产力来说是一个巨大的障碍)。”

关于 Web 组件的广泛采用

可以说,对于微软的浏览器团队来说,采用 Web 组件比一般的 Web 开发团队要来得更为容易。除了能够利用微软自家的 Fluent UI 框架,Edge 团队还在开发一个只需适配单一浏览器的产品:他们自己的浏览器。相比之下,其他 Web 开发团队需要确保他们的产品能够在多种不同的浏览器上良好运行,包括 Chrome、Edge、Safari、Firefox 等。

“我们可能更容易一些,因为我们只依赖 Edge 浏览器处理我们的本地事务,”Ritz 解释道。“而对于其他 Web 开发者来说——他们可能还得支持 Safari,或者其他……这无疑增加了复杂性。”

“如果我们能让微软内部一些更大的非 Web 组件网站迁移过来,那将是一个很好的证明。”——Ritz

尽管如此,微软计划将部分 WebUI 2.0 包以及一套“Web 平台模式”开源。然而,Ritz 指出,许多外部开发者可能并不打算完全模仿微软的做法——例如,许多开发者可能倾向于选择一个不同于 Fluent UI 的样式框架。但至少,Ritz 的团队能够为其他人提供“学习模式”作为参考。

一个可能的中间步骤是尝试说服微软的其他 Web 产品转向使用 Web 组件。

“我不知道微软的其他团队会怎么做,”Ritz 说。“但 Edge 团队正努力建立一个公共库……但我认为如果能让微软内部一些更大的非 Web 组件网站迁移过来,那将是一个很好的证明。”

但他也补充说,他们对与外部合作伙伴合作持开放态度,希望一起引领一个超越 React 框架的 Web 开发新时代。

“如果我们能找到一个在这个领域有共同愿景并愿意合作的合作伙伴——毫无疑问,我们会非常乐意。”

https://thenewstack.io/how-microsoft-edge-is-replacing-react-with-web-components/

声明:本文为 InfoQ 翻译,未经许可禁止转载。

2024 年收官之作:12 月 13 日 -14 日,AICon 全球人工智能开发与应用大会将在北京举办。从 RAG、Agent、多模态模型、AI Native 开发、具身智能,到 AI 智驾、性能优化与资源统筹等大热的 AI 大模型话题,60+ 资深专家共聚一堂,深度剖析相关落地实践案例,共话前沿技术趋势。大会火热报名中,详情可联系票务经理 13269078023 咨询。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
我妈被姑姑扇了4巴掌,我爸静了5秒,然后摘下1023万手表递给我妈

我妈被姑姑扇了4巴掌,我爸静了5秒,然后摘下1023万手表递给我妈

枫红染山径
2026-06-21 12:02:03
泽连斯基的梭哈术:把战争带回到莫斯科,粉碎普京的任何解决方案

泽连斯基的梭哈术:把战争带回到莫斯科,粉碎普京的任何解决方案

一念痴狂
2026-06-21 14:19:54
异性关系再好,也不要帮对方这4种忙,容易越界

异性关系再好,也不要帮对方这4种忙,容易越界

热心市民小黄
2026-06-21 09:25:49
特朗普再抨击梅洛尼:不想把你当作粉丝,意大利右翼一致反特朗普

特朗普再抨击梅洛尼:不想把你当作粉丝,意大利右翼一致反特朗普

输在感情刀
2026-06-21 07:03:01
落地的凤凰不如鸡?看离开央视为钱奔波的李思思,真被康辉说对了

落地的凤凰不如鸡?看离开央视为钱奔波的李思思,真被康辉说对了

眼底星碎
2026-06-20 23:12:34
攻不了,也守不住!中国空军在西藏上空,被印度空军足足欺负40年

攻不了,也守不住!中国空军在西藏上空,被印度空军足足欺负40年

小杨侃事
2026-05-30 22:08:46
演员张颂文深夜街头救人,获评“见义勇为先进个人”;此前本人回应:该帮就帮,该扶就扶,有什么可怕的呢?

演员张颂文深夜街头救人,获评“见义勇为先进个人”;此前本人回应:该帮就帮,该扶就扶,有什么可怕的呢?

极目新闻
2026-06-20 18:01:24
沦为全球最短命舰载机!歼-15几乎全部退役,它的短板究竟在哪?

沦为全球最短命舰载机!歼-15几乎全部退役,它的短板究竟在哪?

青烟小先生
2026-06-07 09:55:56
2027年,如果房价继续下跌,中国50%的家庭或将面临3个大麻烦

2027年,如果房价继续下跌,中国50%的家庭或将面临3个大麻烦

舍长阿爷谈事
2026-06-21 12:43:06
《天道》:什么是人脉?你同学是市局局长,你在超市打工,这不是人脉,你同学是局长,你是科长,这个才是人脉,人脉靠的不是巴结和讨好

《天道》:什么是人脉?你同学是市局局长,你在超市打工,这不是人脉,你同学是局长,你是科长,这个才是人脉,人脉靠的不是巴结和讨好

二胡的岁月如歌
2026-06-05 15:20:00
两性心理学:当一个雌性开始狩猎你时,第一信号不是靠近,也不是释放体香,更不是语言试探,她们本能暴露的是这2个破绽

两性心理学:当一个雌性开始狩猎你时,第一信号不是靠近,也不是释放体香,更不是语言试探,她们本能暴露的是这2个破绽

心理观察局
2026-06-20 07:17:08
王守业贪污1.6亿,2005年“双规”后却被放出,他叫嚣:我摆平了

王守业贪污1.6亿,2005年“双规”后却被放出,他叫嚣:我摆平了

帝哥说史
2026-06-02 21:40:03
正常人可以偶尔偷吃一颗伟哥吗?有什么副作用?本文为你讲出实情

正常人可以偶尔偷吃一颗伟哥吗?有什么副作用?本文为你讲出实情

健康科普365
2026-05-09 21:05:04
“听不懂英语装懂”?高市早苗夸张表情引日网热议;日媒:高市“献媚外交”引反噬

“听不懂英语装懂”?高市早苗夸张表情引日网热议;日媒:高市“献媚外交”引反噬

环球网资讯
2026-06-21 13:12:26
太炸裂!广东女子发视频称,为报复婆婆重男轻女,怀男孩直接流产

太炸裂!广东女子发视频称,为报复婆婆重男轻女,怀男孩直接流产

丫头舫
2026-06-20 22:43:07
果然晚婚晚育,才能优生优育!人大附中家长走红,全都白发苍苍!

果然晚婚晚育,才能优生优育!人大附中家长走红,全都白发苍苍!

林林先生
2026-06-10 10:15:06
斯大林答应海参崴1995年归还中国,这件事到头来怎么就不算数了?

斯大林答应海参崴1995年归还中国,这件事到头来怎么就不算数了?

人生录
2026-06-21 14:54:23
帕公主走了天塌了?结果泰王反手就给提帮功上了两道“护身符”!

帕公主走了天塌了?结果泰王反手就给提帮功上了两道“护身符”!

荷兰豆爱健康
2026-06-21 03:31:44
蒋介石怒打宋子文耳光,宋子文:给你再多的钱,你也打不过共产党

蒋介石怒打宋子文耳光,宋子文:给你再多的钱,你也打不过共产党

芊芊子吟
2026-06-21 12:00:18
美国三家最强AI公司,怎么都去搞生命科学了?

美国三家最强AI公司,怎么都去搞生命科学了?

DeepTech深科技
2026-06-20 20:30:03
2026-06-21 16:03:00
InfoQ incentive-icons
InfoQ
有内容的技术社区媒体
12551文章数 51955关注度
往期回顾 全部

科技要闻

马斯克拿下7800亿元天价薪酬 2028年可兑现

头条要闻

无愧"亚洲之光" 日本队4比0大胜终结亚洲球队六连败

头条要闻

无愧"亚洲之光" 日本队4比0大胜终结亚洲球队六连败

体育要闻

沙特主帅:亚马尔是梅西在巴萨的接班人

娱乐要闻

李乃文带妻子法国购物,2人5个孩子!

财经要闻

蔚来的“暗战”时刻

汽车要闻

惊出冷汗!重庆实测奥迪A5L,华为智驾这波操作绝了…

态度原创

本地
旅游
数码
公开课
军事航空

本地新闻

龙腾资江 韵动邵阳

旅游要闻

上海迪士尼十周年:“快乐经济”的溢出效应

数码要闻

联想2026款ThinkPad P16s笔记本上架,15799元起

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

时隔44年试射洲际导弹 现场照片传递三个重磅信息

无障碍浏览 进入关怀版