为什么 90 年代的网站比今天的 React 应用加载得更快
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
还记得拨号上网那清脆的一按,接着是嘶嘶作响的调制解调器吗?一旦连上,网页几乎“嗖”地一下就出来了——不是云养电子宠物的热梗,就是某个个人主页里跳个不停的仓鼠 GIF。 时间快进到今天:家里光纤拉满,结果一个“很简单”的 React 页面还得等 3 秒+ 。 这是怎么肥四? 冷冰冰的数字事实可能会让你一惊:90 年代典型网站 2–5 KB 就能打包完事,比你今天随手发的任意一张高质量照片都小得多。 对比下今天的 React:框架本体(压缩后)就差不多 30 KB 起步,后面还有你的业务代码、样式、图片,以及那一堆“离不开”的 npm 依赖。 最近审了个“极简”待办(todo)应用,整包 847 KB。做个参照:初代 DOOM 的安装包 2.39 MB——那可是一整套 3D 射击游戏(认真)。 90 年代的配方:简单到“暴力”当年的建站流程清清楚楚:
没有构建、没有打包、没有转译,也更没有虚拟 DOM。浏览器拿到你的 HTML,自上而下边读边画。体积几乎是一切性能问题的核心,大家都明白。 一份典型请求长这样:
现代 React 应用:完全不同的物种来看看现在常见的加载序列:
默认情况下,大体量 JavaScript 的解析与执行会阻塞渲染。当浏览器忙着下载并跑完近 1.5 MB 的脚本时,用户看到的通常只有空白或转圈。 不过话说回来,这些 JS 可不只是“摆设”。它们在浏览器里搭起了一整套运行时:状态管理、虚拟 DOM diff、事件系统、路由、甚至实时数据同步。 真正的瓶颈:下载之后发生了什么体积只是第一关,更致命的是执行阶段。 90 年代的网站不需要客户端运算:HTML 早就“画好了”。现代 React 应用却要:
某次分析里,React 首屏渲染本身仅 ~50ms,但等待服务器用了 ~560ms;再加上 JS 的解析/执行,在移动端轻松再添 200–500ms。 可我们为什么还要这么做?别急着把
让你用 90 年代的技术去造 Slack、Figma、Google Docs/Sheets?基本不可能。用户期待与功能需求已经完全变了。 性能的“代价与收益”1 秒内加载完成的站点,转化率往往是 5 秒站点的 3 倍。这让现代开发陷入一对矛盾:
于是衍生出一整套性能工程:
讽刺的是:我们用越来越复杂的构建链路与优化手段,努力在保住现代能力的同时,找回当年那点简单 + 快。 什么时候“简单”仍是王道很多场景里,90 年代思路仍然无敌:
一句话:最快的 React,也敌不过一份写得讲究的纯静态 HTML 的首次加载。物理定律依然是物理定律。 甜蜜地带:现代工具,经典准则最快的现代网站,几乎都在复刻 90 年代的性能原则:
Next.js / Gatsby / SvelteKit 等工具,正努力在“开发体验像 React”与“性能像 90s”之间,找到平衡。 结论90 年代网站更快,不是它们“更高级”,而是目标不同、规则不同:把内容尽快送到用户眼前,是那个时代的头号追求。 现代 React 应用追求的是可维护性、交互体验、复杂功能。是的,性能要付出代价,但收益也是真实的。 关键在于用对地方: 给“关于我们”做个静态页还上 React,就像开着法拉利去取快递——能到,但包袱太重。 真正的启示不是“回到 90 年代”,而是克制地使用强力工具:在该简单时保持简单。 很多时候,最容易的答案,恰恰是最好的答案。 该文章在 2025/9/22 11:09:26 编辑过 |
关键字查询
相关文章
正在查询... |