写点什么

从 React 到 HTML 优先:Microsoft Edge 推出 “WebUI 2.0”

Richard MacManus

  • 2024-07-03
    北京
  • 本文字数:2832 字

    阅读完需:约 9 分钟

大小:1.30M时长:07:32
从 React 到 HTML 优先:Microsoft Edge 推出 “WebUI 2.0”

导读:随着新的浏览器技术崭露头角,微软 Edge 浏览器的最新升级正向我们展示了一个全新的网页开发方向。这不仅是一次技术层面的升级,更可能是一场网页开发领域的革命性变革。本文深入探讨了 Edge 团队如何摒弃传统的 JavaScript 框架,转向更加轻量、快速的 HTML 优先方案。这一转变不仅技术意义深远,更可能引领未来网页开发的新潮流。若你对网页开发的未来充满好奇,渴望了解这一变革的详细信息和潜在影响,请继续阅读本文。


二十年前,基于浏览器的应用程序——也就是 Web 应用——在功能方面取得了长足的进步。2004 年 4 月,谷歌推出了首批能够像本地应用程序一样运行的 Web 应用之一,即 Gmail。其背后的技术是一种后来被称为“Ajax”(异步 JavaScript 和 XML)的 JavaScript 技术,这项技术使得 Web 应用程序能够异步地与服务器进行数据交换,从而无需用户手动刷新页面。


2004 年的互联网 因此变得更加互动。Gmail 利用 Ajax 技术实现了邮件的即时加载和实时搜索,其他 Web 应用如 Flickr、Bloglines 和 Basecamp 也迅速跟进。随后,Facebook 也采用了 Ajax 技术,实现了评论和点赞的异步提交和接收,这些操作可以即时在页面上更新,无需刷新整个页面。这一技术的应用如同魔法一般,推动了“ Web 即平台”(即 Web 2.0)在接下来的十年里蓬勃发展。


深入探讨 JavaScript 的双刃剑效应


然而,随后的发展却颇为有趣。自 2014 年起至今,开发者们对 JavaScript 的青睐与日俱增——好东西自然是多多益善,对吧?因此, Web 应用变得越来越复杂,尤其是在 React(2013 年推出)和相关框架如 Next.js(2016 年)问世之后。尽管这确实有助于 Web 应用的扩展,并在用户界面上实现了更多令人惊艳的功能,但同时也增加了用户设备需要处理的 JavaScript 代码量,并加重了开发者的维护负担。


JavaScript 生态系统变得过于庞大,以至于 Web 社区中的一些知名人士开始呼吁回归 Web 平台的基础。过去几年里,我一直在报道这种趋势,但直到现在,我还没有看到哪款大规模 Web 应用真正代表了“回归基础”的潮流。


或许现在我找到了这个答案,那就是微软最新升级的 Web 浏览器——基于 Chromium 的 Edge。这周它引起了我的注意,原因有二。首先,它减少了对 React 的依赖;其次,它增加了对 Web 组件的使用,这是一种以 HTML 为主的 Web 开发方法。


“……从 React 转向现代 Web 组件和 HTML 优先的架构,为用户带来了极大的便利和优势。”


——Alex Russell,Edge 产品经理合伙人


Edge 是如何减少 React 代码的?


微软的博客文章介绍了新版 Edge(122 版),但并未直接提及 React。相反,文章着重强调了用户体验的改进——更快的浏览速度。公司表示:


“从 Edge 122 开始,浏览器的基础用户界面现在响应更为迅速。对于 Edge 用户,UI 的速度提升了 42%,而对于那些没有 SSD 或内存少于 8GB 的设备用户,速度则提升了高达 76%!”


但微软的 Alex Russell,Edge 的合作产品经理(同时他也是 Web 组件的创始人之一),在 Mastodon 上透露了开发细节:


“我们现在使用 Web 技术来构建浏览器的许多部分(例如书签、历史记录、下载、设置、新标签页等),从 React 转向现代的 Web 组件 + 以 HTML 为主的架构,这对用户,特别是使用低端硬件的用户来说,具有巨大的好处。”


实际上,这意味着 Edge 中使用 JavaScript 代码渲染的用户界面减少了。更少的 JavaScript 意味着更小的资源占用,从而为用户提供了更快的 Web 浏览体验。微软还制作了一个简短的视频来展示这种速度差异。


视频:https://youtu.be/avJmgfGpoJA


“WebUI 2.0”是 Edge 浏览器全新推出的 UI 机制,在演示中其速度表现尤为突出。


需要注意的是,目前只有 Edge UI 的部分组件进行了这项改进。在回答一位 Mastodon 用户的提问时,Russell 确认这是“一项持续进行的工作”,Edge 团队正在“逐个界面地转换,目前已完成约 15%”。


你可能会好奇为什么浏览器最初会选择使用 React。实际上,许多浏览器的 UI 本身就是以网页形式存在的。而且,在过去十年里,主流浏览器似乎都走上了使用 React 的道路,和其他开发者一样。所以,像是“浏览器基础”界面(视频中展示的)或者你的浏览器收藏夹——这些实际上都是以网页形式渲染的。微软表示,其他 Edge 功能,如“历史记录、下载、钱包等”,也将在未来几个月内逐步转换为“WebUI 2.0”。


WebUI 2.0 的起源


在微软 Edge 团队的博客文章中,他们承认现代 JavaScript 框架在某些方面确实有其优势,特别是在提升开发人员的工作效率方面。然而,经过深入研究,他们发现这种开发体验是以牺牲用户浏览器速度为代价的。这不禁让人联想到近年的 Web 开发趋势:


“我们的大量代码使用了依赖 JavaScript 来渲染 UI 的框架。这种客户端渲染的方式在过去十年中备受 Web 开发者的青睐,因为它不仅提高了开发人员的工作效率,还实现了更为动态的 UI 体验。


于是,Edge 团队提出了疑问:‘如果我们去掉这些框架,仅使用 Web 平台来构建 UI,浏览器的速度能提升多少呢?’”


“我们期待更多网站能够向以标记语言为主、拥有小型代码包和更少 UI 渲染 JavaScript 代码的方向发展。”


——微软 Edge 团队


这一思考催生了 WebUI 2.0,这是一种全新的以标记语言为主的架构,它最大限度地减少了代码包的大小和在 UI 初始化过程中运行的 JavaScript 代码量。


这种新架构更加模块化,它依赖于“一个为现代 Web 引擎优化的 Web 组件库”。


团队进一步补充说:“我们期待更多网站能够朝着这种以标记语言为主、拥有小型代码包和更少 UI 渲染 JavaScript 代码的方向发展。”


2024 年的“Gmail 时刻”?


我承认,将 Edge 的最新版本与 2004 年的 Gmail 相提并论可能稍显夸张。但考虑到 Edge 拥有庞大的潜在用户群——所有 Windows PC 都推荐使用 Edge(尽管根据过往的法律判决,它不能成为默认浏览器),这一变化可能具有深远的影响。


如果 Edge 采用的新 HTML 优先方法能够激励其他公司和初创企业跟进类似的项目,那么我们可能会见证一个全新的 Web 开发运动拉开序幕。对于许多 Web 开发人员社区的成员来说,这种以标记语言为主、JavaScript 为辅的转变无疑将受到热烈欢迎。


 作者简介


Richard MacManus,《The New Stack》的高级编辑,他撰写的文章涵盖了 Web 和应用开发的最新趋势。早在 2003 年,他便创立了 ReadWriteWeb,并将其发展成为全球颇具影响力的科技新闻网站之一。从博客、社交媒体和 Ajax 等颠覆性互联网工具的早期兴起,到当下的人工智能、元宇宙、JavaScript 框架等技术热潮,多年来,MacManus 一直被公认为技术领域的领军人物,尤其擅长洞察并解读即将到来的技术趋势及其背后的深远意义。


原文链接


https://thenewstack.io/from-react-to-html-first-microsoft-edge-debuts-webui-2-0/


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

2024-07-03 10:005203

评论

发布
暂无评论
发现更多内容

百度高德地图JS-API学习手记:地图基本设置与省市区数据加载

zhoulujun

百度地图 高德地图

微前端项目部署方案

京东科技开发者

微前端 京东云 企业号 4 月 PK 榜

带你揭开神秘的javascript AST面纱之AST 基础与功能

京东科技开发者

JavaScript 前端 AST 京东云 企业号 4 月 PK 榜

从Spring的AOP看Synchronized锁失效和事务失效的情况

Java你猿哥

spring ssm synchronized Java工程师

聚焦弹性问题,杭州铭师堂的 Serverless 之路

阿里巴巴云原生

阿里云 云原生

信息率失真函数与平均互信息

timerring

信息论

ZBC 荣登OKX涨幅榜前列,月内涨幅逾六成

鳄鱼视界

JWT 实现登录认证 + Token 自动续期方案,这才是正确的使用姿势!

Java你猿哥

Java ssm 架构师 Token JWT

一个前端大佬的十年回顾 | 漫画前端的前世今生

京东科技开发者

JavaScript html 前端 京东云 企业号 4 月 PK 榜

Hex Tech,一个带编程协同能力的 BI 平台的“危”与“机”

CnosDB

数据库 时序数据库 开源社区 CnosDB

数据库原理及MySQL应用 | 数据库安全加固

TiAmo

MySQL 数据库 数据安全

三天吃透Redis八股文

程序员大彬

redis #java

Three.js 进阶之旅:全景漫游-高阶版在线看房 🏡

dragonir

JavaScript 前端 three.js

从0到1构建基于自身业务的前端工具库

京东科技开发者

前端 京东云 企业号 4 月 PK 榜

Redis缓存高可用集群

京东科技开发者

redis 云计算 redis哨兵 京东云 企业号 4 月 PK 榜

Taro架构构析(2):Taro 设计思想及架构

zhoulujun

gis经纬度坐标转换多格式兼容:支持字符串/数组/GeoJSON

zhoulujun

GIS GeoJSON 经纬度坐标转换

玩转Github:三分钟教你如何用 Github 快速找到优秀的开源项目

Java你猿哥

Java GitHub 开源 源码 ssm

从java到JavaScript(1),看Dart:对比Java/Go/Swift/Rust

zhoulujun

Java JavaScript swift rust dart

GIS拓扑讲解点线面几何体的拓扑关系判断及运算分析_turf案例

zhoulujun

GIS Turf.js

GIS常用npm包:GeoJSON文件合并与元素过滤\属性过滤\图形合并

zhoulujun

GIS GeoJSON

selenium源码通读·2 | common/exceptions.py异常类

Python 源码 测试 自动化测试 selenium

开源7天Github斩获4.5万Stars!阿里2023版高并发设计实录鲨疯了

Java你猿哥

Java 面试 高并发 面经 春招

selenium源码通读·3 | 从源码看引入webdriver包的原因

Python 源码 测试 自动化测试 selenium

从java到JavaScript(2):对比Java/Go/Swift/Rust看Dart

zhoulujun

Java JavaScript dart

ZBC 荣登OKX涨幅榜前列,生态持续发力是关键

西柚子

Go 命令行参数解析工具 pflag 使用

江湖十年

后端 命令行 Go 语言

架构实战营 - 备选架构设计文档模板

华仔

文本处理流程:Text Workflow 1.5.1直装版

真大的脸盆

文本处理 处理文本 文本管理工具

百度高德地图行政区域边界GeoJSON数据获取并绘制行政区域

zhoulujun

百度地图 高德地图

首次公开!阿里巴巴内部Java 面试突击核心讲(1658 页),转载 40W+

Java你猿哥

Java 面试 ssm 面经 java核心知识

从 React 到 HTML 优先:Microsoft Edge 推出 “WebUI 2.0”_后端_InfoQ精选文章