Gmail 在 2004 年改变了网络平台------我们是否将要看到微软 Edge 带来的类似转变?而且这一次,JavaScript 更少了。
二十年前,基于浏览器的应用程序(Web 应用程序)在功能上实现了巨大飞跃。2004 年 4 月,谷歌推出了首批与原生应用程序一样运行的 Web 应用程序之一:Gmail。其背后的技术是一种 JavaScript 技术,后来被称为"Ajax"(异步 JavaScript 和 XML),它允许 Web 应用程序异步发送和从服务器检索数据,这意味着用户无需重新加载网页。
突然之间,2004 年的互联网变得更加互动。Gmail 使用 Ajax 实现了电子邮件的即时加载和实时搜索。其他网络应用也迅速效仿------其中包括 Flickr、Bloglines 和 Basecamp。后来,Facebook 使用 Ajax 异步提交和检索评论和点赞,允许这些操作立即在页面上更新,而无需完全重新加载。这真是太神奇了,它让"网络即平台"(又名 Web 2.0)在接下来的十年里蓬勃发展。
当你加倍投入 JavaScript 时会发生什么
但后来发生了一件奇怪的事情。从大约 2014 年到现在,开发人员加倍投入 JavaScript --- 好东西不可能太多,对吧?因此,Web 应用变得更加复杂,尤其是在引入新的 JavaScript 库(如 React(于 2013 年首次亮相))和相关框架(如 Next.js(2016 年))之后。虽然这无疑有助于 Web 应用扩展并在用户界面上实现更多神奇的功能,但它也增加了用户设备上要处理的 JavaScript 数量。这也增加了开发人员的维护负担。
JavaScript 生态系统已经变得过于庞大,网络社区的知名成员开始呼吁回归网络平台的本质。过去几年我一直在报道这一现象,但到目前为止,我还没有看到任何网络应用(至少是规模较大的)能够体现"回归本质"的趋势。
但也许现在我已经找到了,微软的最新升级版基于Chromium 的 Edge浏览器。本周它引起了我的注意,原因有几个。第一,它减少了对 React 的依赖;第二,它增加了对Web Components的使用,这是一种 HTML 优先的 Web 开发方法。
"......从 React 转向现代 Web Components + HTML 优先架构为用户带来了*巨大*的好处。"
-- Edge 合作产品经理 Alex Russell
Edge 如何减少其 React 代码?
微软关于新版Edge(版本 122)的博客文章实际上并没有提到 Reac t。相反,它专注于用户将体验到的内容:更快的速度。该公司是这样说的:
"从 Edge 122 开始,Browser Essentials UI 的响应速度更快。对于 Edge 用户来说,UI 现在快了 42%,而对于没有 SSD 或 RAM 少于 8GB 的设备用户来说,UI 快了 76%!"
但微软的 Edge 合作伙伴产品经理 Alex Russell(在此之前,他是 Web Components 的创建者之一)在 Mastodon 上证实了开发细节:
"如今,我们用网络'东西'构建了很多浏览器(比如书签、历史记录、下载、设置、新标签页等),而从 React 转向现代 Web Components + HTML 优先架构为用户带来了巨大好处,尤其是使用低端硬件的用户。"
实际上,这意味着 Edge 中更少的用户界面是用 JavaScript 代码呈现的。更少的 JavaScript 意味着更小的占用空间,这意味着用户的 Web 体验更快。
"WebUI 2.0"是Edge的新UI机制,在本次演示中速度明显更快。
请注意,目前,Edge UI 中只有某些方面经历了这种变化。在回复一位询问此事的 Mastodon 用户时,Russell 确认这是"一项持续不断的努力",并且 Edge 团队正在"逐个进行转换,目前已完成约 15%"。
您可能还想知道为什么浏览器首先使用 React。这是因为浏览器中的很多 UI 基本上都是网页。而且似乎主流浏览器在过去十年中都像其他人一样陷入了 React 的泥潭。因此,诸如"浏览器基本信息"屏幕(视频中显示)或浏览器收藏夹之类的功能 --- --- 都呈现为网页。微软表示,其他 Edge 功能,如"历史记录、下载、钱包等",也将在未来几个月内转换为"WebUI 2.0"。
WebUI 2.0 的起源
在其博客文章中,Microsoft Edge 团队承认现代 JavaScript 框架在某些方面是好的------特别提到了开发人员的工作效率。但当他们仔细观察时,他们发现这种开发体验的代价是终端用户的浏览器速度相对较慢。他们指出最近的 Web 开发人员趋势:
"我们的许多代码都使用依赖 JavaScript 来呈现 UI 的框架。这被称为客户端渲染,在过去十年中,这一直是 Web 开发人员中的流行趋势,因为它可以帮助 Web 开发人员提高工作效率并实现更动态的 UI 体验。
因此他们问自己,"如果我们删除该框架并仅使用 Web 平台构建 UI,我们的开发速度能有多快?"
"我们希望更多的网站开始朝着标记优先、小捆绑和更少 UI 渲染 JavaScript 代码的方向发展。"
------ Microsoft Edge 团队
这导致了 WebUI 2.0 的诞生,"一种全新的标记优先架构,可最大限度地减少代码包的大小以及在 UI 初始化路径期间运行的 JavaScript 代码量。"
这导致了更加模块化的架构,依赖于"针对现代 Web 引擎的性能进行调整的 Web 组件存储库"。
该团队补充道:"我们希望更多的网站开始朝着标记优先、小捆绑和更少的 UI 渲染 JavaScript 代码的方向发展。"
2024 年的 Gmail 时刻?
我承认,将最新版本的 Edge 与 Gmail 在 2004 年的表现进行比较可能有些言过其实。但考虑到 Edge 庞大的潜在用户群,这可能非常重要------所有 Windows PC 都鼓励您使用 Edge(当然,根据过去的法律判决,它不能成为默认浏览器)。
如果 Edge 新的 HTML 优先方法能够鼓励其他公司和初创公司开展类似项目,那么我们可能就会迎来一场新的 Web 开发运动。对于 Web 开发人员社区中的许多人来说,转向标记优先/JavaScript 优先将是一个受欢迎的举措。