还记得 2004 年 Gmail 横空出世,改变了整个网页平台吗? 现在,微软 Edge 也要来玩点新花样了!而且这次,他们要减少对 JavaScript 的依赖。
二十年前,网页应用功能还很弱,直到 Gmail 出现,利用 Ajax 技术实现了异步数据加载,用户不用刷新页面就能体验交互。想想当年,邮箱瞬间加载,搜索结果实时更新,那感觉简直太神奇了! 后来,Facebook、Flickr 等等也都跟上了脚步,Web 2.0 时代也就这样开启了。
但是,从 2014 年开始,好像大家一窝蜂地开始疯狂依赖 JavaScript。 各种新框架、新库层出不穷,虽然让网页应用变得更强大,但同时也带来了问题:用户设备上要处理的 JavaScript 代码越来越多,开发人员的维护负担也越来越重。
不少人开始呼吁回归网页开发的本质,使用更少的 JavaScript,让网页更轻更快。我之前也写过一些关于这方面的文章,但一直没看到哪个大型的 Web 应用真正实践了这种理念。
直到现在,微软 Edge 推出了最新版本,它 基于 Chromium 浏览器内核,并且减少了对 React 的依赖,转而使用 Web Components,也就是以 HTML 为先的开发方式。
“……从 React 迁移到现代 Web Components + HTML 为先的架构,对用户来说有巨大的益处。”
—— Edge 产品经理 Alex Russell
Edge 是怎么做的?
微软在 博客 里没有直接提 React,而是强调新版本 Edge 的速度提升:
“从 Edge 122 开始,浏览器基本功能的界面响应速度更快。对于 Edge 用户来说,速度提升了 42%,而对于那些没有 SSD 或者内存小于 8GB 的设备用户来说,速度提升更是高达 76%!”
不过,微软 Edge 产品经理 Alex Russell 在 Mastodon 上透露了更多细节:
“我们现在用大量的 Web ‘内容’ 来构建浏览器(比如书签、历史记录、下载、设置、新标签页等等),并且从 React 迁移到现代 Web Components + HTML 为先的架构,对用户来说有巨大的益处,特别是那些使用低端硬件的用户。”
简单来说,就是减少了用 JavaScript 代码渲染的界面部分,这样就能让网页加载更快,更流畅。微软还制作了一个视频来演示速度差异:
微软将这个新的 UI 机制叫做 “WebUI 2.0”。
目前,只有 Edge 某些界面进行了这种改变,不过 Russell 确认 这是一个持续的项目,他们正在逐步转换各个界面,目前大约 15% 已完成。
可能你也会好奇,浏览器以前为什么要用 React 呢? 其实很多浏览器界面本身就是网页,过去十年间,主流浏览器也跟风用上了 React。 比如你看到的“浏览器基本功能”界面,或者你的浏览器书签,这些都是用网页渲染出来的。 微软说 Edge 的其他功能,比如“历史记录、下载、钱包等等”,也将在未来几个月内转换为 “WebUI 2.0”。
WebUI 2.0 从何而来?
微软 Edge 团队在博客文章里也承认,现代 JavaScript 框架在一些方面确实很不错,比如提高了开发者的生产力。但是他们发现,这种便捷的代价是最终用户体验的下降,浏览器速度变慢。 于是他们决定改变思路:
“我们的很多代码都使用了一个依赖于 JavaScript 来渲染 UI 的框架。这被称为客户端渲染,过去十年来,这在 Web 开发者中很流行,因为它帮助开发者提高生产力,并实现了更动态的 UI 体验。
所以,我们问自己,如果我们移除这个框架,只使用 Web 平台构建 UI,可以有多快?”
“我们希望更多网站开始朝这个方向发展:以标记为主、包体积小,并且减少用于渲染 UI 的 JavaScript 代码。”
— 微软 Edge 团队
这就是 WebUI 2.0 的诞生,它是一种全新的以标记为主的架构,减少了代码包的大小,以及在 UI 初始化路径中运行的 JavaScript 代码量。
新架构更模块化,它依赖于“针对现代 Web 引擎性能进行调整的 Web Components 库”。
微软 Edge 团队也希望这种新的方向能被更多网站所采用:以标记为主、包体积小,减少用于渲染 UI 的 JavaScript 代码。
2024 年的 Gmail 时刻?
把 Edge 比作 2004 年的 Gmail 可能有点夸张,但它确实具有重大意义。 毕竟 Edge 拥有庞大的用户群,所有 Windows 电脑都默认安装了它(虽然由于 过去的法律判决,它不能成为默认浏览器)。
如果 Edge 的这种新的 HTML 为先的理念能鼓励其他公司和初创公司进行类似的项目,那么我们可能已经看到了一个新的 Web 开发运动的开始。对于很多 Web 开发者来说,向以标记为主/以 JavaScript 为辅的转变将是一个受欢迎的改变。